Media Content Based on Operational Data

ABSTRACT

An example computing system that maintains a playlist of media items for playback by one or more playback devices receives, from a first playback device, a request to play back the playlist and first operational data and also receives, from a second playback device, a request to play back the playlist and second operational data. The computing system provides the media items in the playlist to the first and second playback devices for substantially synchronous playback and, based on the first and second operational data, determines respective first and second advertisements. The computing system provides the first advertisement to the first playback device for playback during a given time slot designated for advertisements, and also provides the second advertisement to the second playback device for playback during the given time slot, such that the second playback device plays the second advertisement while the first playback device plays the first advertisement.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority as a continuation under35 U.S.C. § 120 to U.S. application Ser. No. 16/680,232 filed on Nov.11, 2019 and entitled “Media Content Based on Operational Data,” whichis incorporated by reference here in its entirety.

FIELD OF THE DISCLOSURE

The present disclosure is related to consumer goods and, moreparticularly, to methods, systems, products, features, services, andother elements directed to media playback or some aspect thereof.

BACKGROUND

Options for accessing and listening to digital audio in an out-loudsetting were limited until in 2002, when SONOS, Inc. began developmentof a new type of playback system. Sonos then filed one of its firstpatent applications in 2003, entitled “Method for Synchronizing AudioPlayback between Multiple Networked Devices,” and began offering itsfirst media playback systems for sale in 2005. The Sonos Wireless HomeSound System enables people to experience music from many sources viaone or more networked playback devices. Through a software controlapplication installed on a controller (e.g., smartphone, tablet,computer, voice input device), one can play what she wants in any roomhaving a networked playback device. Media content (e.g., songs,podcasts, video sound) can be streamed to playback devices such thateach room with a playback device can play back corresponding differentmedia content. In addition, rooms can be grouped together forsynchronous playback of the same media content, and/or the same mediacontent can be heard in all rooms synchronously.

BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and advantages of the presently disclosed technologymay be better understood with regard to the following description,appended claims, and accompanying drawings, as listed below. A personskilled in the relevant art will understand that the features shown inthe drawings are for purposes of illustrations, and variations,including different and/or additional features and arrangements thereof,are possible.

FIG. 1A is a partial cutaway view of an environment having a mediaplayback system configured in accordance with aspects of the disclosedtechnology.

FIG. 1B is a schematic diagram of the media playback system of FIG. 1Aand one or more networks.

FIG. 1C is a block diagram of a playback device.

FIG. 1D is a block diagram of a playback device.

FIG. 1E is a block diagram of a network microphone device.

FIG. 1F is a block diagram of a network microphone device.

FIG. 1G is a block diagram of a playback device.

FIG. 1H is a partially schematic diagram of a control device.

FIGS. 1 -I through 1L are schematic diagrams of corresponding mediaplayback system zones.

FIG. 1M is a schematic diagram of media playback system areas.

FIG. 2A is a front isometric view of a playback device configured inaccordance with aspects of the disclosed technology.

FIG. 2B is a front isometric view of the playback device of FIG. 3Awithout a grille.

FIG. 2C is an exploded view of the playback device of FIG. 2A.

FIG. 3A is a front view of a network microphone device configured inaccordance with aspects of the disclosed technology.

FIG. 3B is a side isometric view of the network microphone device ofFIG. 3A.

FIG. 3C is an exploded view of the network microphone device of FIGS. 3Aand 3B.

FIG. 3D is an enlarged view of a portion of FIG. 3B.

FIG. 3E is a block diagram of the network microphone device of FIGS.3A-3D

FIG. 3F is a schematic diagram of an example voice input.

FIGS. 4A-4D are schematic diagrams of a control device in various stagesof operation in accordance with aspects of the disclosed technology.

FIG. 5 is front view of a control device.

FIG. 6 is a schematic diagram of a computing system for providinginternet radio content.

FIG. 7 is a message flow diagram involving a computing system and twomedia playback systems.

FIG. 8 is a schematic diagram of playback devices playing back aninternet radio stream.

The drawings are for the purpose of illustrating example embodiments,but those of ordinary skill in the art will understand that thetechnology disclosed herein is not limited to the arrangements and/orinstrumentality shown in the drawings.

DETAILED DESCRIPTION I. Overview

Embodiments described herein relate to creating and offering content tousers of a media playback system based on operational data obtained fromthe media playback system. The content may include playlists, internetradio stations, podcasts, and the like that correspond to a user'sinterests, as well as advertisements that are relevant to a given useror users of the media playback system where the content is being played.

Traditionally, terrestrial radio programming has been assembled based ona given genre of content (e.g., a classic rock station or R&B musicstation). Advertisers can then target their ads to be played during aterrestrial radio broadcast based on the given genre, which can providesome demographic information about potential listeners, and the time ofday. However, other than these two data points, there is littleinformation available about potential listeners, including what theirother interests might be, where they might be located (e.g., in a car,at work, at home), or indeed, whether and how many people are listeningat all.

On the other hand, in a networked media playback system of the typediscussed herein, much more operational data is available for use in thecreation of content. The operational data used to create such contentmay be wide-ranging, including, for example, the listening habits andmedia preferences of one or more users of the media playback system,data related to the media playback system itself, and in some cases, anapproximation of a user's location in their media playback system whenthey are experiencing the content, among other possibilities.

For example, a media playback system provider, such as Sonos or asimilarly situated provider, may curate a set of internet radio stationsbased not only on genres of music as discussed above, but on moregranular preferences that may be obtained from across the numerous mediaplayback system that are in operation. For example, the provider may beable to discern that there is a significant cohort of country musiclisteners who prefer country music from a particular timeframe (e.g.,80s country) and dislike country music from another particulartimeframe, or perhaps dislike other classifications of country music.This data may be based on, for instance, users entering preferenceinformation (e.g., a thumbs up/down or a like/dislike) via a controlapplication while listening to media content in their media playbacksystem. Accordingly, the provider may curate an internet radio stationbased on this data and then provide a listening suggestion, via anindication in the control application, for example, to any users whosepreferences match those on which the station is based. Otherinformation, if known, such as a user's age or geographic location,might provide additional data that correlates with media contentpreferences, and may contribute to the creation and offering of content.

In some implementations, the operational data may include data relatedto the number, model, and configuration of playback devices included inthe user's media playback system. This data may be used by the mediaplayback system provider to provide, within the curated internet radioprogramming discussed above, targeted ads that promote the expansion orimprovement of the user's system. For example, a user in a mediaplayback system that includes only one playback device may receiveadvertisements related to multi-room, synchronous playback between twoor more devices, or the benefits of creating a bonded, multi-channelgrouping of playback devices (e.g., a stereo pair or home theaterconfiguration). Similarly, a user who has never calibrated theirplayback device(s) may receive an advertisement notifying the user thatsuch calibration functionality is available, suggesting its benefits,and explaining how to access it via a control application on the user'ssmartphone, for instance. In this regard, any of the advertisementsdiscussed herein may be accompanied by a selectable indication that isdisplayed via the control application while the advertisement plays on agiven playback device. The selectable indication may include a link thatdirects a user to purchase or obtain more information about anadvertised product. Other examples are also possible.

Similar to the configuration data related to the playback devices in themedia playback system, the operational data discussed herein may includeinformation related to the media content sources that are available tothe media playback system. For example, a user of the media playbacksystem may have a subscription to, and thus a user account associatedwith, one or more cloud-based media content sources that provide mediacontent that is playable via the playback devices of the media playbacksystem. However, an internet radio program curated by the media playbacksystem provider might include songs and other audio tracks that are notnormally available from any of the user's subscribed media contentsources. Thus, after a song plays that the user does not normally haveaccess to, a targeted advertisement for a given media content sourcethat includes the song in question might be provided.

Other types of operational data may provide an indication of userpresence within the media playback system. For example, any actionstaken via a control application, such as the initiation of playback,volume commands, grouping and ungrouping of playback devices, or simplybrowsing additional media content may indicate that a user is present inthe media playback system and very likely to be listening to theinternet radio station and any associated advertisements. Accordingly,an advertising time slot with this type of verifiable audience may bemore valuable to advertisers.

Other indications of user presence within a media playback system arealso possible. As discussed herein, one or more networked microphonedevices (NMDs) may be included within the networked media playbacksystem. For example, a NMD maybe be incorporated into a given playbackdevice and may receive media playback and other voice commands from auser after one or more activation words (e.g., wake words) are detected.Accordingly, a voice command received via a NMD within the mediaplayback system may reliably indicate that a user is present. Situationsin which the NMD detects speech, but does not detect any activationwords, may also imply user presence within the media playback system.

As yet another example, one or more playback devices of a networkedmedia playback system may receive an indication of attenuation ofnetwork traffic on the media playback system's local area network (LAN).For instance, one or more playback devices may be equipped to monitornetwork traffic over the LAN for the purpose of maintaining high qualityaudio playback, and may adjust the network topology among playbackdevices or modify audio content based on such information, if necessary.If network attenuation is detected, it may indicate that a user ispresent within the media playback system, utilizing another device thatis affecting the LAN. For example, streaming ultra-high definition videocontent over the LAN may have an appreciable impact on the network.Other examples are also possible.

Moreover, some indications of user presence within the media playbacksystem may be tied to a particular user. For instance, where there aremultiple users of a given media playback system, each user may have aregistered user account with the media playback system provider andtheir own corresponding control application installed on their device ofchoice, such as a smartphone. Thus, control activity can be tied to agiven device on which it was received, which is associated with a givenuser account. Accordingly, any user profile information that the userhas elected to populate their account with (e.g., gender,age/generation, other interests, etc.) may be used as a basis to providetargeted advertisements. Further, a user's profile may includeinformation regarding their particular media preferences and listeninghistory, which may be different from other users in the same mediaplayback system.

In some implementations, the names corresponding to the playback devicesin a media playback system may be used as a reliable proxy for a givenplayback device's location in a user's household. For instance, aplayback device given the name “Kitchen” likely resides in a location inthe user's household where cooking and food preparation occurs.Accordingly, the media playback system provider may insert, into theinternet radio programming that is being played back by the Kitchenplayback device, targeted ads that are associated with cooking,groceries, and the like.

Other advertisements that are targeted based on a playback device'sname, and a user activity that is likely to be correlated with the name,are also possible. Fitness and exercise related advertisements may beprovided to a playback device named “Workout Room,” for example. In somecases, the naming of a new playback device or the renaming of anexisting playback device may be informative operational data that isuseful for all playback devices in a media playback system. For example,if a new playback device is added to a media playback system and named“Nursery” or “Baby's Room,” it may indicate that targeted ads for babyproducts are now desirable on some or all playback devices in that mediaplayback system.

Based on the operational data discussed above, it may be possible fordifferent playback devices in the media playback system that are playingback the same internet radio station to nonetheless receive and playbackdifferent advertisements during a given advertising time slot. Forexample, the Kitchen playback device discussed above and a secondplayback device designated as “Master Bathroom” may be grouped forsynchronous playback of a given internet radio station in the morning.When the programming reaches an advertising time slot, the Kitchenplayback device may receive and play back an advertisement related tokitchen appliances or grocery shopping, while the Master Bathroomplayback device may receive and play back an advertisement related tohygiene or beauty care products. Either or both of the advertisementsmight be further refined based on other operational data that might beavailable.

Further, the ability to provide different advertisements to differentplayback devices that are playing the same internet radio content mightalso include the possibility of advertisements being withheld fromcertain playback devices. For instance, a playback device named“Nursery” that is playing an internet radio station of instrumentalmusic during the middle of the day, at a relatively low volume, may beindicative of a baby's nap time. Accordingly, the Nursery playbackdevice may be silent during designated advertising time slots, or mayplay back predetermined audio content (e.g., rain sounds) in lieu oftargeted advertisements.

As another example, an advertiser might be interested in minimizing thenumber of “wasted” advertising impressions that are played back if theoperational data from the media playback system indicates a lowlikelihood that a user (or a user fitting a targeted demographic) ispresent in a given playback zone. For example, an advertising impressionmay be far more lucrative to a given advertiser of kitchen products ifit is played via the playback device designated as Kitchen, between thehours of 4 pm and 6 pm when meal preparation may be likely, and shortlyafter a volume manipulation has been detected at a given user's controldevice, indicating user presence. Numerous other examples are alsopossible.

Although the internet radio content contemplated herein is not a“broadcast” as that word is used to describe terrestrial radiotransmission, it may nevertheless operate according to a fixed, linearprogramming schedule. For example, a given internet radio station willprovide the same playlist of media items to any playback devices thathave requested to play back the internet radio programming, such thatthe content is played in substantial synchrony between the playbackdevices. For example, a computing system, which may contain one or morecomputing devices and/or cloud servers, may maintain a playlist of mediaitems in a queue for playback, along with an indication of a currentplayback position within the playlist, which is always advancing. Whenthe computing system receives a request from a given playback device to“tune in” to the internet radio station and thereby begin playback, thecomputing system provides the playback device one or more media itemsfrom the playlist, beginning with the then-current media item. In somecases, the computing system may only provide a fragment of the currentmedia item, beginning from the audio frame corresponding to the currentplayback position.

As playback continues, the computing system may determine respectiveadvertisements based on operational data that it receives from eachplayback device, and may provide the advertisements for playback to eachrespective playback device during the corresponding advertising timeslot.

The level of synchrony that the computing system may provide betweenplayback devices in separate media playback systems, in separatehouseholds, is less rigorous than that required of multiple playbackdevices in the same media playback system (e.g., in the same room) thatare grouped for synchronous playback. For instance, the synchronousplayback of internet radio content among playback devices within thesame media playback system may be handled by one or more local playbackdevices acting as a group coordinator, according to known methods. Ofcourse, transport controls (e.g., pause, skip, etc.) are not availablewhen listening to such an internet radio stream.

In another embodiment, the media service provider discussed herein mayaccess one or more terrestrial radio stream aggregation services andthereby provide access to streaming versions of traditional broadcastradio content. In this arrangement, the advertisements included withinthe audio programming will typically be those that are transmitted by,and would otherwise by heard on, the local terrestrial radio broadcast.However, it is also contemplated that the computing system discussedabove may be capable of identifying the advertisements in a terrestrialradio stream and then replacing the native advertisements with the moretargeted advertising discussed herein.

As noted above, embodiments described herein relate to creating andoffering content to users of a media playback system based onoperational data obtained from the media playback system. In someembodiments, for example, a computing system is provided including atleast one processor, a non-transitory computer-readable medium, andprogram instructions stored on the non-transitory computer-readablemedium that, when executed by the at least one processor, cause thecomputing system to perform functions including (i) maintaining aplaylist of media items for playback by one or more playback devices,where the playlist of media items includes a plurality of time slotsdesignated for advertisements; (ii) receiving, from a first playbackdevice, (a) a first request to play back the playlist of media items and(b) first operational data corresponding to the first playback device;(iii) receiving, from a second playback device, (a) a second request toplay back the playlist of media items and (b) second operational datacorresponding to the second playback device; (iv) determining, based onthe first operational data corresponding to the first playback device, afirst advertisement to be provided to the first playback device; (v)determining, based on the second operational data corresponding to thesecond playback device, a second advertisement to be provided to thesecond playback device; (vi) based on the first request and the secondrequest, providing one or more media items in the playlist to the firstplayback device and the second playback device for substantiallysynchronous playback by the first playback device and the secondplayback device; (vii) providing the first advertisement to the firstplayback device for playback during the given time slot; and (viii)providing the second advertisement to the second playback device forplayback during the given time slot, such that the second playbackdevice plays the second advertisement while the first playback deviceplays the first advertisement.

While some examples described herein may refer to functions performed bygiven actors such as “users,” “listeners,” and/or other entities, itshould be understood that this is for purposes of explanation only. Theclaims should not be interpreted to require action by any such exampleactor unless explicitly required by the language of the claimsthemselves.

In the Figures, identical reference numbers identify generally similar,and/or identical, elements. To facilitate the discussion of anyparticular element, the most significant digit or digits of a referencenumber refers to the Figure in which that element is first introduced.For example, element 110 a is first introduced and discussed withreference to FIG. 1A. Many of the details, dimensions, angles and otherfeatures shown in the Figures are merely illustrative of particularembodiments of the disclosed technology. Accordingly, other embodimentscan have other details, dimensions, angles and features withoutdeparting from the spirit or scope of the disclosure. In addition, thoseof ordinary skill in the art will appreciate that further embodiments ofthe various disclosed technologies can be practiced without several ofthe details described below.

II. Suitable Operating Environment

FIG. 1A is a partial cutaway view of a media playback system 100distributed in an environment 101 (e.g., a house). The media playbacksystem 100 comprises one or more playback devices 110 (identifiedindividually as playback devices 110 a-n), one or more networkmicrophone devices (“NMDs”), 120 (identified individually as NMDs 120a-c), and one or more control devices 130 (identified individually ascontrol devices 130 a and 130 b).

As used herein the term “playback device” can generally refer to anetwork device configured to receive, process, and output data of amedia playback system. For example, a playback device can be a networkdevice that receives and processes audio content. In some embodiments, aplayback device includes one or more transducers or speakers powered byone or more amplifiers. In other embodiments, however, a playback deviceincludes one of (or neither of) the speaker and the amplifier. Forinstance, a playback device can comprise one or more amplifiersconfigured to drive one or more speakers external to the playback devicevia a corresponding wire or cable.

Moreover, as used herein the term NMD (i.e., a “network microphonedevice”) can generally refer to a network device that is configured foraudio detection. In some embodiments, an NMD is a stand-alone deviceconfigured primarily for audio detection. In other embodiments, an NMDis incorporated into a playback device (or vice versa).

The term “control device” can generally refer to a network deviceconfigured to perform functions relevant to facilitating user access,control, and/or configuration of the media playback system 100.

Each of the playback devices 110 is configured to receive audio signalsor data from one or more media sources (e.g., one or more remoteservers, one or more local devices) and play back the received audiosignals or data as sound. The one or more NMDs 120 are configured toreceive spoken word commands, and the one or more control devices 130are configured to receive user input. In response to the received spokenword commands and/or user input, the media playback system 100 can playback audio via one or more of the playback devices 110. In certainembodiments, the playback devices 110 are configured to commenceplayback of media content in response to a trigger. For instance, one ormore of the playback devices 110 can be configured to play back amorning playlist upon detection of an associated trigger condition(e.g., presence of a user in a kitchen, detection of a coffee machineoperation). In some embodiments, for example, the media playback system100 is configured to play back audio from a first playback device (e.g.,the playback device 100 a) in synchrony with a second playback device(e.g., the playback device 100 b). Interactions between the playbackdevices 110, NMDs 120, and/or control devices 130 of the media playbacksystem 100 configured in accordance with the various embodiments of thedisclosure are described in greater detail below with respect to FIGS.1B-8 .

In the illustrated embodiment of FIG. 1A, the environment 101 comprisesa household having several rooms, spaces, and/or playback zones,including (clockwise from upper left) a master bathroom 101 a, a masterbedroom 101 b, a second bedroom 101 c, a family room or den 101 d, anoffice 101 e, a living room 101 f, a dining room 101 g, a kitchen 101 h,and an outdoor patio 101 i. While certain embodiments and examples aredescribed below in the context of a home environment, the technologiesdescribed herein may be implemented in other types of environments. Insome embodiments, for example, the media playback system 100 can beimplemented in one or more commercial settings (e.g., a restaurant,mall, airport, hotel, a retail or other store), one or more vehicles(e.g., a sports utility vehicle, bus, car, a ship, a boat, an airplane),multiple environments (e.g., a combination of home and vehicleenvironments), and/or another suitable environment where multi-zoneaudio may be desirable.

The media playback system 100 can comprise one or more playback zones,some of which may correspond to the rooms in the environment 101. Themedia playback system 100 can be established with one or more playbackzones, after which additional zones may be added, or removed to form,for example, the configuration shown in FIG. 1A. Each zone may be givena name according to a different room or space such as the office 101 e,master bathroom 101 a, master bedroom 101 b, the second bedroom 101 c,kitchen 101 h, dining room 101 g, living room 101 f, and/or the balcony101 i. In some aspects, a single playback zone may include multiplerooms or spaces. In certain aspects, a single room or space may includemultiple playback zones.

In the illustrated embodiment of FIG. 1A, the master bathroom 101 a, thesecond bedroom 101 c, the office 101 e, the living room 101 f, thedining room 101 g, the kitchen 101 h, and the outdoor patio 101 i eachinclude one playback device 110, and the master bedroom 101 b and theden 101 d include a plurality of playback devices 110. In the masterbedroom 101 b, the playback devices 110 l and 110 m may be configured,for example, to play back audio content in synchrony as individual onesof playback devices 110, as a bonded playback zone, as a consolidatedplayback device, and/or any combination thereof. Similarly, in the den101 d, the playback devices 110 h-j can be configured, for instance, toplay back audio content in synchrony as individual ones of playbackdevices 110, as one or more bonded playback devices, and/or as one ormore consolidated playback devices. Additional details regarding bondedand consolidated playback devices are described below with respect toFIGS. 1B, 1E, and 1I-1M.

In some aspects, one or more of the playback zones in the environment101 may each be playing different audio content. For instance, a usermay be grilling on the patio 101 i and listening to hip hop music beingplayed by the playback device 110 c while another user is preparing foodin the kitchen 101 h and listening to classical music played by theplayback device 110 b. In another example, a playback zone may play thesame audio content in synchrony with another playback zone. Forinstance, the user may be in the office 101 e listening to the playbackdevice 110 f playing back the same hip hop music being played back byplayback device 110 c on the patio 101 i. In some aspects, the playbackdevices 110 c and 110 f play back the hip hop music in synchrony suchthat the user perceives that the audio content is being playedseamlessly (or at least substantially seamlessly) while moving betweendifferent playback zones. Additional details regarding audio playbacksynchronization among playback devices and/or zones can be found, forexample, in U.S. Pat. No. 8,234,395 entitled, “System and method forsynchronizing operations among a plurality of independently clockeddigital data processing devices,” which is incorporated herein byreference in its entirety.

a. Suitable Media Playback System

FIG. 1B is a schematic diagram of the media playback system 100 and acloud network 102. For ease of illustration, certain devices of themedia playback system 100 and the cloud network 102 are omitted fromFIG. 1B. One or more communication links 103 (referred to hereinafter as“the links 103”) communicatively couple the media playback system 100and the cloud network 102.

The links 103 can comprise, for example, one or more wired networks, oneor more wireless networks, one or more wide area networks (WAN), one ormore local area networks (LAN), one or more personal area networks(PAN), one or more telecommunication networks (e.g., one or more GlobalSystem for Mobiles (GSM) networks, Code Division Multiple Access (CDMA)networks, Long-Term Evolution (LTE) networks, 5G communication networknetworks, and/or other suitable data transmission protocol networks),etc. The cloud network 102 is configured to deliver media content (e.g.,audio content, video content, photographs, social media content) to themedia playback system 100 in response to a request transmitted from themedia playback system 100 via the links 103. In some embodiments, thecloud network 102 is further configured to receive data (e.g. voiceinput data) from the media playback system 100 and correspondinglytransmit commands and/or media content to the media playback system 100.

The cloud network 102 comprises computing devices 106 (identifiedseparately as a first computing device 106 a, a second computing device106 b, and a third computing device 106 c). The computing devices 106can comprise individual computers or servers, such as, for example, amedia streaming service server storing audio and/or other media content,a voice service server, a social media server, a media playback systemcontrol server, etc. In some embodiments, one or more of the computingdevices 106 comprise modules of a single computer or server. In certainembodiments, one or more of the computing devices 106 comprise one ormore modules, computers, and/or servers. Moreover, while the cloudnetwork 102 is described above in the context of a single cloud network,in some embodiments the cloud network 102 comprises a plurality of cloudnetworks comprising communicatively coupled computing devices.Furthermore, while the cloud network 102 is shown in FIG. 1B as havingthree of the computing devices 106, in some embodiments, the cloudnetwork 102 comprises fewer (or more than) three computing devices 106.

The media playback system 100 is configured to receive media contentfrom the networks 102 via the links 103. The received media content cancomprise, for example, a Uniform Resource Identifier (URI) and/or aUniform Resource Locator (URL). For instance, in some examples, themedia playback system 100 can stream, download, or otherwise obtain datafrom a URI or a URL corresponding to the received media content. Anetwork 104 communicatively couples the links 103 and at least a portionof the devices (e.g., one or more of the playback devices 110, NMDs 120,and/or control devices 130) of the media playback system 100. Thenetwork 104 can include, for example, a wireless network (e.g., a WiFinetwork, a Bluetooth, a Z-Wave network, a ZigBee, and/or other suitablewireless communication protocol network) and/or a wired network (e.g., anetwork comprising Ethernet, Universal Serial Bus (USB), and/or anothersuitable wired communication). As those of ordinary skill in the artwill appreciate, as used herein, “WiFi” can refer to several differentcommunication protocols including, for example, Institute of Electricaland Electronics Engineers (IEEE) 802.11a, 802.11b, 802.11g, 802.11n,802.11ac, 802.11ac, 802.11ad, 802.11af, 802.11ah, 802.11ai, 802.11aj,802.11aq, 802.11ax, 802.11ay, 802.15, etc. transmitted at 2.4 Gigahertz(GHz), 5 GHz, and/or another suitable frequency.

In some embodiments, the network 104 comprises a dedicated communicationnetwork that the media playback system 100 uses to transmit messagesbetween individual devices and/or to transmit media content to and frommedia content sources (e.g., one or more of the computing devices 106).In certain embodiments, the network 104 is configured to be accessibleonly to devices in the media playback system 100, thereby reducinginterference and competition with other household devices. In otherembodiments, however, the network 104 comprises an existing householdcommunication network (e.g., a household WiFi network). In someembodiments, the links 103 and the network 104 comprise one or more ofthe same networks. In some aspects, for example, the links 103 and thenetwork 104 comprise a telecommunication network (e.g., an LTE network,a 5G network). Moreover, in some embodiments, the media playback system100 is implemented without the network 104, and devices comprising themedia playback system 100 can communicate with each other, for example,via one or more direct connections, PANs, telecommunication networks,and/or other suitable communication links.

In some embodiments, audio content sources may be regularly added orremoved from the media playback system 100. In some embodiments, forexample, the media playback system 100 performs an indexing of mediaitems when one or more media content sources are updated, added to,and/or removed from the media playback system 100. The media playbacksystem 100 can scan identifiable media items in some or all foldersand/or directories accessible to the playback devices 110, and generateor update a media content database comprising metadata (e.g., title,artist, album, track length) and other associated information (e.g.,URIs, URLs) for each identifiable media item found. In some embodiments,for example, the media content database is stored on one or more of theplayback devices 110, network microphone devices 120, and/or controldevices 130.

In the illustrated embodiment of FIG. 1B, the playback devices 110 l and110 m comprise a group 107 a. The playback devices 110 l and 110 m canbe positioned in different rooms in a household and be grouped togetherin the group 107 a on a temporary or permanent basis based on user inputreceived at the control device 130 a and/or another control device 130in the media playback system 100. When arranged in the group 107 a, theplayback devices 110 l and 110 m can be configured to play back the sameor similar audio content in synchrony from one or more audio contentsources. In certain embodiments, for example, the group 107 a comprisesa bonded zone in which the playback devices 110 l and 110 m compriseleft audio and right audio channels, respectively, of multi-channelaudio content, thereby producing or enhancing a stereo effect of theaudio content. In some embodiments, the group 107 a includes additionalplayback devices 110. In other embodiments, however, the media playbacksystem 100 omits the group 107 a and/or other grouped arrangements ofthe playback devices 110. Additional details regarding groups and otherarrangements of playback devices are described in further detail belowwith respect to FIGS. 1I through 1M.

The media playback system 100 includes the NMDs 120 a and 120 d, eachcomprising one or more microphones configured to receive voiceutterances from a user. In the illustrated embodiment of FIG. 1B, theNMD 120 a is a standalone device and the NMD 120 d is integrated intothe playback device 110 n. The NMD 120 a, for example, is configured toreceive voice input 121 from a user 123. In some embodiments, the NMD120 a transmits data associated with the received voice input 121 to avoice assistant service (VAS) configured to (i) process the receivedvoice input data and (ii) transmit a corresponding command to the mediaplayback system 100. In some aspects, for example, the computing device106 c comprises one or more modules and/or servers of a VAS (e.g., a VASoperated by one or more of SONOS®, AMAZON®, GOOGLE® APPLE®, MICROSOFT®).The computing device 106 c can receive the voice input data from the NMD120 a via the network 104 and the links 103. In response to receivingthe voice input data, the computing device 106 c processes the voiceinput data (i.e., “Play Hey Jude by The Beatles”), and determines thatthe processed voice input includes a command to play a song (e.g., “HeyJude”). The computing device 106 c accordingly transmits commands to themedia playback system 100 to play back “Hey Jude” by the Beatles from asuitable media service (e.g., via one or more of the computing devices106) on one or more of the playback devices 110.

b. Suitable Playback Devices

FIG. 1C is a block diagram of the playback device 110 a comprising aninput/output 111. The input/output 111 can include an analog I/O 111 a(e.g., one or more wires, cables, and/or other suitable communicationlinks configured to carry analog signals) and/or a digital I/O 111 b(e.g., one or more wires, cables, or other suitable communication linksconfigured to carry digital signals). In some embodiments, the analogI/O 111 a is an audio line-in input connection comprising, for example,an auto-detecting 3.5 mm audio line-in connection. In some embodiments,the digital I/O 111 b comprises a Sony/Philips Digital Interface Format(S/PDIF) communication interface and/or cable and/or a Toshiba Link(TOSLINK) cable. In some embodiments, the digital I/O 111 b comprises anHigh-Definition Multimedia Interface (HDMI) interface and/or cable. Insome embodiments, the digital I/O 111 b includes one or more wirelesscommunication links comprising, for example, a radio frequency (RF),infrared, WiFi, Bluetooth, or another suitable communication protocol.In certain embodiments, the analog I/O 111 a and the digital 111 bcomprise interfaces (e.g., ports, plugs, jacks) configured to receiveconnectors of cables transmitting analog and digital signals,respectively, without necessarily including cables.

The playback device 110 a, for example, can receive media content (e.g.,audio content comprising music and/or other sounds) from a local audiosource 105 via the input/output 111 (e.g., a cable, a wire, a PAN, aBluetooth connection, an ad hoc wired or wireless communication network,and/or another suitable communication link). The local audio source 105can comprise, for example, a mobile device (e.g., a smartphone, atablet, a laptop computer) or another suitable audio component (e.g., atelevision, a desktop computer, an amplifier, a phonograph, a Blu-rayplayer, a memory storing digital media files). In some aspects, thelocal audio source 105 includes local music libraries on a smartphone, acomputer, a networked-attached storage (NAS), and/or another suitabledevice configured to store media files. In certain embodiments, one ormore of the playback devices 110, NMDs 120, and/or control devices 130comprise the local audio source 105. In other embodiments, however, themedia playback system omits the local audio source 105 altogether. Insome embodiments, the playback device 110 a does not include aninput/output 111 and receives all audio content via the network 104.

The playback device 110 a further comprises electronics 112, a userinterface 113 (e.g., one or more buttons, knobs, dials, touch-sensitivesurfaces, displays, touchscreens), and one or more transducers 114(referred to hereinafter as “the transducers 114”). The electronics 112is configured to receive audio from an audio source (e.g., the localaudio source 105) via the input/output 111, one or more of the computingdevices 106 a-c via the network 104 (FIG. 1B)), amplify the receivedaudio, and output the amplified audio for playback via one or more ofthe transducers 114. In some embodiments, the playback device 110 aoptionally includes one or more microphones 115 (e.g., a singlemicrophone, a plurality of microphones, a microphone array) (hereinafterreferred to as “the microphones 115”). In certain embodiments, forexample, the playback device 110 a having one or more of the optionalmicrophones 115 can operate as an NMD configured to receive voice inputfrom a user and correspondingly perform one or more operations based onthe received voice input.

In the illustrated embodiment of FIG. 1C, the electronics 112 compriseone or more processors 112 a (referred to hereinafter as “the processors112 a”), memory 112 b, software components 112 c, a network interface112 d, one or more audio processing components 112 g (referred tohereinafter as “the audio components 112 g”), one or more audioamplifiers 112 h (referred to hereinafter as “the amplifiers 112 h”),and power 112 i (e.g., one or more power supplies, power cables, powerreceptacles, batteries, induction coils, Power-over Ethernet (POE)interfaces, and/or other suitable sources of electric power). In someembodiments, the electronics 112 optionally include one or more othercomponents 112 j (e.g., one or more sensors, video displays,touchscreens, battery charging bases).

The processors 112 a can comprise clock-driven computing component(s)configured to process data, and the memory 112 b can comprise acomputer-readable medium (e.g., a tangible, non-transitorycomputer-readable medium, data storage loaded with one or more of thesoftware components 112 c) configured to store instructions forperforming various operations and/or functions. The processors 112 a areconfigured to execute the instructions stored on the memory 112 b toperform one or more of the operations. The operations can include, forexample, causing the playback device 110 a to retrieve audio data froman audio source (e.g., one or more of the computing devices 106 a-c(FIG. 1B)), and/or another one of the playback devices 110. In someembodiments, the operations further include causing the playback device110 a to send audio data to another one of the playback devices 110 aand/or another device (e.g., one of the NMDs 120). Certain embodimentsinclude operations causing the playback device 110 a to pair withanother of the one or more playback devices 110 to enable amulti-channel audio environment (e.g., a stereo pair, a bonded zone).

The processors 112 a can be further configured to perform operationscausing the playback device 110 a to synchronize playback of audiocontent with another of the one or more playback devices 110. As thoseof ordinary skill in the art will appreciate, during synchronousplayback of audio content on a plurality of playback devices, a listenerwill preferably be unable to perceive time-delay differences betweenplayback of the audio content by the playback device 110 a and the otherone or more other playback devices 110. Additional details regardingaudio playback synchronization among playback devices can be found, forexample, in U.S. Pat. No. 8,234,395, which was incorporated by referenceabove.

In some embodiments, the memory 112 b is further configured to storedata associated with the playback device 110 a, such as one or morezones and/or zone groups of which the playback device 110 a is a member,audio sources accessible to the playback device 110 a, and/or a playbackqueue that the playback device 110 a (and/or another of the one or moreplayback devices) can be associated with. The stored data can compriseone or more state variables that are periodically updated and used todescribe a state of the playback device 110 a. The memory 112 b can alsoinclude data associated with a state of one or more of the other devices(e.g., the playback devices 110, NMDs 120, control devices 130) of themedia playback system 100. In some aspects, for example, the state datais shared during predetermined intervals of time (e.g., every 5 seconds,every 10 seconds, every 60 seconds) among at least a portion of thedevices of the media playback system 100, so that one or more of thedevices have the most recent data associated with the media playbacksystem 100.

The network interface 112 d is configured to facilitate a transmissionof data between the playback device 110 a and one or more other deviceson a data network such as, for example, the links 103 and/or the network104 (FIG. 1B). The network interface 112 d is configured to transmit andreceive data corresponding to media content (e.g., audio content, videocontent, text, photographs) and other signals (e.g., non-transitorysignals) comprising digital packet data including an Internet Protocol(IP)-based source address and/or an IP-based destination address. Thenetwork interface 112 d can parse the digital packet data such that theelectronics 112 properly receives and processes the data destined forthe playback device 110 a.

In the illustrated embodiment of FIG. 1C, the network interface 112 dcomprises one or more wireless interfaces 112 e (referred to hereinafteras “the wireless interface 112 e”). The wireless interface 112 e (e.g.,a suitable interface comprising one or more antennae) can be configuredto wirelessly communicate with one or more other devices (e.g., one ormore of the other playback devices 110, NMDs 120, and/or control devices130) that are communicatively coupled to the network 104 (FIG. 1B) inaccordance with a suitable wireless communication protocol (e.g., WiFi,Bluetooth, LTE). In some embodiments, the network interface 112 doptionally includes a wired interface 112 f (e.g., an interface orreceptacle configured to receive a network cable such as an Ethernet, aUSB-A, USB-C, and/or Thunderbolt cable) configured to communicate over awired connection with other devices in accordance with a suitable wiredcommunication protocol. In certain embodiments, the network interface112 d includes the wired interface 112 f and excludes the wirelessinterface 112 e. In some embodiments, the electronics 112 excludes thenetwork interface 112 d altogether and transmits and receives mediacontent and/or other data via another communication path (e.g., theinput/output 111).

The audio components 112 g are configured to process and/or filter datacomprising media content received by the electronics 112 (e.g., via theinput/output 111 and/or the network interface 112 d) to produce outputaudio signals. In some embodiments, the audio processing components 112g comprise, for example, one or more digital-to-analog converters (DAC),audio preprocessing components, audio enhancement components, a digitalsignal processors (DSPs), and/or other suitable audio processingcomponents, modules, circuits, etc. In certain embodiments, one or moreof the audio processing components 112 g can comprise one or moresubcomponents of the processors 112 a. In some embodiments, theelectronics 112 omits the audio processing components 112 g. In someaspects, for example, the processors 112 a execute instructions storedon the memory 112 b to perform audio processing operations to producethe output audio signals.

The amplifiers 112 h are configured to receive and amplify the audiooutput signals produced by the audio processing components 112 g and/orthe processors 112 a. The amplifiers 112 h can comprise electronicdevices and/or components configured to amplify audio signals to levelssufficient for driving one or more of the transducers 114. In someembodiments, for example, the amplifiers 112 h include one or moreswitching or class-D power amplifiers. In other embodiments, however,the amplifiers include one or more other types of power amplifiers(e.g., linear gain power amplifiers, class-A amplifiers, class-Bamplifiers, class-AB amplifiers, class-C amplifiers, class-D amplifiers,class-E amplifiers, class-F amplifiers, class-G and/or class Hamplifiers, and/or another suitable type of power amplifier). In certainembodiments, the amplifiers 112 h comprise a suitable combination of twoor more of the foregoing types of power amplifiers. Moreover, in someembodiments, individual ones of the amplifiers 112 h correspond toindividual ones of the transducers 114. In other embodiments, however,the electronics 112 includes a single one of the amplifiers 112 hconfigured to output amplified audio signals to a plurality of thetransducers 114. In some other embodiments, the electronics 112 omitsthe amplifiers 112 h.

The transducers 114 (e.g., one or more speakers and/or speaker drivers)receive the amplified audio signals from the amplifier 112 h and renderor output the amplified audio signals as sound (e.g., audible soundwaves having a frequency between about 20 Hertz (Hz) and 20 kilohertz(kHz)). In some embodiments, the transducers 114 can comprise a singletransducer. In other embodiments, however, the transducers 114 comprisea plurality of audio transducers. In some embodiments, the transducers114 comprise more than one type of transducer. For example, thetransducers 114 can include one or more low frequency transducers (e.g.,subwoofers, woofers), mid-range frequency transducers (e.g., mid-rangetransducers, mid-woofers), and one or more high frequency transducers(e.g., one or more tweeters). As used herein, “low frequency” cangenerally refer to audible frequencies below about 500 Hz, “mid-rangefrequency” can generally refer to audible frequencies between about 500Hz and about 2 kHz, and “high frequency” can generally refer to audiblefrequencies above 2 kHz. In certain embodiments, however, one or more ofthe transducers 114 comprise transducers that do not adhere to theforegoing frequency ranges. For example, one of the transducers 114 maycomprise a mid-woofer transducer configured to output sound atfrequencies between about 200 Hz and about 5 kHz.

By way of illustration, SONOS, Inc. presently offers (or has offered)for sale certain playback devices including, for example, a “SONOS ONE,”“PLAY:1,” “PLAY:3,” “PLAY:5,” “PLAYBAR,” “PLAYBASE,” “CONNECT:AMP,”“CONNECT,” and “SUB.” Other suitable playback devices may additionallyor alternatively be used to implement the playback devices of exampleembodiments disclosed herein. Additionally, one of ordinary skilled inthe art will appreciate that a playback device is not limited to theexamples described herein or to SONOS product offerings. In someembodiments, for example, one or more playback devices 110 compriseswired or wireless headphones (e.g., over-the-ear headphones, on-earheadphones, in-ear earphones). In other embodiments, one or more of theplayback devices 110 comprise a docking station and/or an interfaceconfigured to interact with a docking station for personal mobile mediaplayback devices. In certain embodiments, a playback device may beintegral to another device or component such as a television, a lightingfixture, or some other device for indoor or outdoor use. In someembodiments, a playback device omits a user interface and/or one or moretransducers. For example, FIG. 1D is a block diagram of a playbackdevice 110 p comprising the input/output 111 and electronics 112 withoutthe user interface 113 or transducers 114.

FIG. 1E is a block diagram of a bonded playback device 110 q comprisingthe playback device 110 a (FIG. 1C) sonically bonded with the playbackdevice 110 i (e.g., a subwoofer) (FIG. 1A). In the illustratedembodiment, the playback devices 110 a and 110 i are separate ones ofthe playback devices 110 housed in separate enclosures. In someembodiments, however, the bonded playback device 110 q comprises asingle enclosure housing both the playback devices 110 a and 110 i. Thebonded playback device 110 q can be configured to process and reproducesound differently than an unbonded playback device (e.g., the playbackdevice 110 a of FIG. 1C) and/or paired or bonded playback devices (e.g.,the playback devices 110 l and 110 m of FIG. 1B). In some embodiments,for example, the playback device 110 a is full-range playback deviceconfigured to render low frequency, mid-range frequency, and highfrequency audio content, and the playback device 110 i is a subwooferconfigured to render low frequency audio content. In some aspects, theplayback device 110 a, when bonded with the first playback device, isconfigured to render only the mid-range and high frequency components ofa particular audio content, while the playback device 110 i renders thelow frequency component of the particular audio content. In someembodiments, the bonded playback device 110 q includes additionalplayback devices and/or another bonded playback device. Additionalplayback device embodiments are described in further detail below withrespect to FIGS. 2A-3D.

c. Suitable Network Microphone Devices (NMDs)

FIG. 1F is a block diagram of the NMD 120 a (FIGS. 1A and 1B). The NMD120 a includes one or more voice processing components 124 (hereinafter“the voice components 124”) and several components described withrespect to the playback device 110 a (FIG. 1C) including the processors112 a, the memory 112 b, and the microphones 115. The NMD 120 aoptionally comprises other components also included in the playbackdevice 110 a (FIG. 1C), such as the user interface 113 and/or thetransducers 114. In some embodiments, the NMD 120 a is configured as amedia playback device (e.g., one or more of the playback devices 110),and further includes, for example, one or more of the audio components112 g (FIG. 1C), the amplifiers 114, and/or other playback devicecomponents. In certain embodiments, the NMD 120 a comprises an Internetof Things (IoT) device such as, for example, a thermostat, alarm panel,fire and/or smoke detector, etc. In some embodiments, the NMD 120 acomprises the microphones 115, the voice processing 124, and only aportion of the components of the electronics 112 described above withrespect to FIG. 1B. In some aspects, for example, the NMD 120 a includesthe processor 112 a and the memory 112 b (FIG. 1B), while omitting oneor more other components of the electronics 112. In some embodiments,the NMD 120 a includes additional components (e.g., one or more sensors,cameras, thermometers, barometers, hygrometers).

In some embodiments, an NMD can be integrated into a playback device.FIG. 1G is a block diagram of a playback device 110 r comprising an NMD120 d. The playback device 110 r can comprise many or all of thecomponents of the playback device 110 a and further include themicrophones 115 and voice processing 124 (FIG. 1F). The playback device110 r optionally includes an integrated control device 130 c. Thecontrol device 130 c can comprise, for example, a user interface (e.g.,the user interface 113 of FIG. 1B) configured to receive user input(e.g., touch input, voice input) without a separate control device. Inother embodiments, however, the playback device 110 r receives commandsfrom another control device (e.g., the control device 130 a of FIG. 1B).Additional NMD embodiments are described in further detail below withrespect to FIGS. 3A-3F.

Referring again to FIG. 1F, the microphones 115 are configured toacquire, capture, and/or receive sound from an environment (e.g., theenvironment 101 of FIG. 1A) and/or a room in which the NMD 120 a ispositioned. The received sound can include, for example, vocalutterances, audio played back by the NMD 120 a and/or another playbackdevice, background voices, ambient sounds, etc. The microphones 115convert the received sound into electrical signals to produce microphonedata. The voice processing 124 receives and analyzes the microphone datato determine whether a voice input is present in the microphone data.The voice input can comprise, for example, an activation word followedby an utterance including a user request. As those of ordinary skill inthe art will appreciate, an activation word is a word or other audio cuethat signifying a user voice input. For instance, in querying theAMAZON® VAS, a user might speak the activation word “Alexa.” Otherexamples include “Ok, Google” for invoking the GOOGLE® VAS and “Hey,Siri” for invoking the APPLE® VAS.

After detecting the activation word, voice processing 124 monitors themicrophone data for an accompanying user request in the voice input. Theuser request may include, for example, a command to control athird-party device, such as a thermostat (e.g., NEST® thermostat), anillumination device (e.g., a PHILIPS HUE® lighting device), or a mediaplayback device (e.g., a Sonos® playback device). For example, a usermight speak the activation word “Alexa” followed by the utterance “setthe thermostat to 68 degrees” to set a temperature in a home (e.g., theenvironment 101 of FIG. 1A). The user might speak the same activationword followed by the utterance “turn on the living room” to turn onillumination devices in a living room area of the home. The user maysimilarly speak an activation word followed by a request to play aparticular song, an album, or a playlist of music on a playback devicein the home. Additional description regarding receiving and processingvoice input data can be found in further detail below with respect toFIGS. 3A-3F.

d. Suitable Control Devices

FIG. 1H is a partially schematic diagram of the control device 130 a(FIGS. 1A and 1B). As used herein, the term “control device” can be usedinterchangeably with “controller” or “control system.” Among otherfeatures, the control device 130 a is configured to receive user inputrelated to the media playback system 100 and, in response, cause one ormore devices in the media playback system 100 to perform an action(s) oroperation(s) corresponding to the user input. In the illustratedembodiment, the control device 130 a comprises a smartphone (e.g., aniPhone™, an Android phone) on which media playback system controllerapplication software is installed. In some embodiments, the controldevice 130 a comprises, for example, a tablet (e.g., an iPad™), acomputer (e.g., a laptop computer, a desktop computer), and/or anothersuitable device (e.g., a television, an automobile audio head unit, anIoT device). In certain embodiments, the control device 130 a comprisesa dedicated controller for the media playback system 100. In otherembodiments, as described above with respect to FIG. 1G, the controldevice 130 a is integrated into another device in the media playbacksystem 100 (e.g., one more of the playback devices 110, NMDs 120, and/orother suitable devices configured to communicate over a network).

The control device 130 a includes electronics 132, a user interface 133,one or more speakers 134, and one or more microphones 135. Theelectronics 132 comprise one or more processors 132 a (referred tohereinafter as “the processors 132 a”), a memory 132 b, softwarecomponents 132 c, and a network interface 132 d. The processor 132 a canbe configured to perform functions relevant to facilitating user access,control, and configuration of the media playback system 100. The memory132 b can comprise data storage that can be loaded with one or more ofthe software components executable by the processor 302 to perform thosefunctions. The software components 132 c can comprise applicationsand/or other executable software configured to facilitate control of themedia playback system 100. The memory 112 b can be configured to store,for example, the software components 132 c, media playback systemcontroller application software, and/or other data associated with themedia playback system 100 and the user.

The network interface 132 d is configured to facilitate networkcommunications between the control device 130 a and one or more otherdevices in the media playback system 100, and/or one or more remotedevices. In some embodiments, the network interface 132 is configured tooperate according to one or more suitable communication industrystandards (e.g., infrared, radio, wired standards including IEEE 802.3,wireless standards including IEEE 802.11a, 802.11b, 802.11g, 802.11n,802.11ac, 802.15, 4G, LTE). The network interface 132 d can beconfigured, for example, to transmit data to and/or receive data fromthe playback devices 110, the NMDs 120, other ones of the controldevices 130, one of the computing devices 106 of FIG. 1B, devicescomprising one or more other media playback systems, etc. Thetransmitted and/or received data can include, for example, playbackdevice control commands, state variables, playback zone and/or zonegroup configurations. For instance, based on user input received at theuser interface 133, the network interface 132 d can transmit a playbackdevice control command (e.g., volume control, audio playback control,audio content selection) from the control device 304 to one or more ofthe playback devices 100. The network interface 132 d can also transmitand/or receive configuration changes such as, for example,adding/removing one or more playback devices 100 to/from a zone,adding/removing one or more zones to/from a zone group, forming a bondedor consolidated player, separating one or more playback devices from abonded or consolidated player, among others. Additional description ofzones and groups can be found below with respect to FIGS. 1 -I through1M.

The user interface 133 is configured to receive user input and canfacilitate ‘control of the media playback system 100. The user interface133 includes media content art 133 a (e.g., album art, lyrics, videos),a playback status indicator 133 b (e.g., an elapsed and/or remainingtime indicator), media content information region 133 c, a playbackcontrol region 133 d, and a zone indicator 133 e. The media contentinformation region 133 c can include a display of relevant information(e.g., title, artist, album, genre, release year) about media contentcurrently playing and/or media content in a queue or playlist. Theplayback control region 133 d can include selectable (e.g., via touchinput and/or via a cursor or another suitable selector) icons to causeone or more playback devices in a selected playback zone or zone groupto perform playback actions such as, for example, play or pause, fastforward, rewind, skip to next, skip to previous, enter/exit shufflemode, enter/exit repeat mode, enter/exit cross fade mode, etc. Theplayback control region 133 d may also include selectable icons tomodify equalization settings, playback volume, and/or other suitableplayback actions. In the illustrated embodiment, the user interface 133comprises a display presented on a touch screen interface of asmartphone (e.g., an iPhone™, an Android phone). In some embodiments,however, user interfaces of varying formats, styles, and interactivesequences may alternatively be implemented on one or more networkdevices to provide comparable control access to a media playback system.

The one or more speakers 134 (e.g., one or more transducers) can beconfigured to output sound to the user of the control device 130 a. Insome embodiments, the one or more speakers comprise individualtransducers configured to correspondingly output low frequencies,mid-range frequencies, and/or high frequencies. In some aspects, forexample, the control device 130 a is configured as a playback device(e.g., one of the playback devices 110). Similarly, in some embodimentsthe control device 130 a is configured as an NMD (e.g., one of the NMDs120), receiving voice commands and other sounds via the one or moremicrophones 135.

The one or more microphones 135 can comprise, for example, one or morecondenser microphones, electret condenser microphones, dynamicmicrophones, and/or other suitable types of microphones or transducers.In some embodiments, two or more of the microphones 135 are arranged tocapture location information of an audio source (e.g., voice, audiblesound) and/or configured to facilitate filtering of background noise.Moreover, in certain embodiments, the control device 130 a is configuredto operate as playback device and an NMD. In other embodiments, however,the control device 130 a omits the one or more speakers 134 and/or theone or more microphones 135. For instance, the control device 130 a maycomprise a device (e.g., a thermostat, an IoT device, a network device)comprising a portion of the electronics 132 and the user interface 133(e.g., a touch screen) without any speakers or microphones. Additionalcontrol device embodiments are described in further detail below withrespect to FIGS. 4A-4D and 5 .

e. Suitable Playback Device Configurations

FIGS. 1-1 through 1M show example configurations of playback devices inzones and zone groups. Referring first to FIG. 1M, in one example, asingle playback device may belong to a zone. For example, the playbackdevice 110 g in the second bedroom 101 c (FIG. 1A) may belong to Zone C.In some implementations described below, multiple playback devices maybe “bonded” to form a “bonded pair” which together form a single zone.For example, the playback device 110 l (e.g., a left playback device)can be bonded to the playback device 110 l (e.g., a left playbackdevice) to form Zone A. Bonded playback devices may have differentplayback responsibilities (e.g., channel responsibilities). In anotherimplementation described below, multiple playback devices may be mergedto form a single zone. For example, the playback device 110 h (e.g., afront playback device) may be merged with the playback device 110 i(e.g., a subwoofer), and the playback devices 110 j and 110 k (e.g.,left and right surround speakers, respectively) to form a single Zone D.In another example, the playback devices 110 g and 110 h can be mergedto form a merged group or a zone group 108 b. The merged playbackdevices 110 g and 110 h may not be specifically assigned differentplayback responsibilities. That is, the merged playback devices 110 hand 110 i may, aside from playing audio content in synchrony, each playaudio content as they would if they were not merged.

Each zone in the media playback system 100 may be provided for controlas a single user interface (UI) entity. For example, Zone A may beprovided as a single entity named Master Bathroom. Zone B may beprovided as a single entity named Master Bedroom. Zone C may be providedas a single entity named Second Bedroom.

Playback devices that are bonded may have different playbackresponsibilities, such as responsibilities for certain audio channels.For example, as shown in FIG. 1 -I, the playback devices 110 l and 110 mmay be bonded so as to produce or enhance a stereo effect of audiocontent. In this example, the playback device 110 l may be configured toplay a left channel audio component, while the playback device 110 k maybe configured to play a right channel audio component. In someimplementations, such stereo bonding may be referred to as “pairing.”

Additionally, bonded playback devices may have additional and/ordifferent respective speaker drivers. As shown in FIG. 1J, the playbackdevice 110 h named Front may be bonded with the playback device 110 inamed SUB. The Front device 110 h can be configured to render a range ofmid to high frequencies and the SUB device 110 i can be configuredrender low frequencies. When unbonded, however, the Front device 110 hcan be configured render a full range of frequencies. As anotherexample, FIG. 1K shows the Front and SUB devices 110 h and 110 i furtherbonded with Left and Right playback devices 110 j and 110 k,respectively. In some implementations, the Right and Left devices 110 jand 110 k can be configured to form surround or “satellite” channels ofa home theater system. The bonded playback devices 110 h, 110 i, 110 j,and 110 k may form a single Zone D (FIG. 1M).

Playback devices that are merged may not have assigned playbackresponsibilities, and may each render the full range of audio contentthe respective playback device is capable of. Nevertheless, mergeddevices may be represented as a single UI entity (i.e., a zone, asdiscussed above). For instance, the playback devices 110 a and 110 n themaster bathroom have the single UI entity of Zone A. In one embodiment,the playback devices 110 a and 110 n may each output the full range ofaudio content each respective playback devices 110 a and 110 n arecapable of, in synchrony.

In some embodiments, an NMD is bonded or merged with another device soas to form a zone. For example, the NMD 120 b may be bonded with theplayback device 110 e, which together form Zone F, named Living Room. Inother embodiments, a stand-alone network microphone device may be in azone by itself. In other embodiments, however, a stand-alone networkmicrophone device may not be associated with a zone. Additional detailsregarding associating network microphone devices and playback devices asdesignated or default devices may be found, for example, in previouslyreferenced U.S. patent application Ser. No. 15/438,749.

Zones of individual, bonded, and/or merged devices may be grouped toform a zone group. For example, referring to FIG. 1M, Zone A may begrouped with Zone B to form a zone group 108 a that includes the twozones. Similarly, Zone G may be grouped with Zone H to form the zonegroup 108 b. As another example, Zone A may be grouped with one or moreother Zones C-I. The Zones A-I may be grouped and ungrouped in numerousways. For example, three, four, five, or more (e.g., all) of the ZonesA-I may be grouped. When grouped, the zones of individual and/or bondedplayback devices may play back audio in synchrony with one another, asdescribed in previously referenced U.S. Pat. No. 8,234,395. Playbackdevices may be dynamically grouped and ungrouped to form new ordifferent groups that synchronously play back audio content.

In various implementations, the zones in an environment may be thedefault name of a zone within the group or a combination of the names ofthe zones within a zone group. For example, Zone Group 108 b can have beassigned a name such as “Dining+Kitchen”, as shown in FIG. 1M. In someembodiments, a zone group may be given a unique name selected by a user.

Certain data may be stored in a memory of a playback device (e.g., thememory 112 c of FIG. 1C) as one or more state variables that areperiodically updated and used to describe the state of a playback zone,the playback device(s), and/or a zone group associated therewith. Thememory may also include the data associated with the state of the otherdevices of the media system, and shared from time to time among thedevices so that one or more of the devices have the most recent dataassociated with the system.

In some embodiments, the memory may store instances of various variabletypes associated with the states. Variables instances may be stored withidentifiers (e.g., tags) corresponding to type. For example, certainidentifiers may be a first type “a1” to identify playback device(s) of azone, a second type “b1” to identify playback device(s) that may bebonded in the zone, and a third type “c1” to identify a zone group towhich the zone may belong. As a related example, identifiers associatedwith the second bedroom 101 c may indicate that the playback device isthe only playback device of the Zone C and not in a zone group.Identifiers associated with the Den may indicate that the Den is notgrouped with other zones but includes bonded playback devices 110 h-110k. Identifiers associated with the Dining Room may indicate that theDining Room is part of the Dining+Kitchen zone group 108 b and thatdevices 110 b and 110 d are grouped (FIG. 1L). Identifiers associatedwith the Kitchen may indicate the same or similar information by virtueof the Kitchen being part of the Dining+Kitchen zone group 108 b. Otherexample zone variables and identifiers are described below.

In yet another example, the media playback system 100 may variables oridentifiers representing other associations of zones and zone groups,such as identifiers associated with Areas, as shown in FIG. 1M. An areamay involve a cluster of zone groups and/or zones not within a zonegroup. For instance, FIG. 1M shows an Upper Area 109 a including ZonesA-D, and a Lower Area 109 b including Zones E-I. In one aspect, an Areamay be used to invoke a cluster of zone groups and/or zones that shareone or more zones and/or zone groups of another cluster. In anotheraspect, this differs from a zone group, which does not share a zone withanother zone group. Further examples of techniques for implementingAreas may be found, for example, in U.S. application Ser. No. 15/682,506filed Aug. 21, 2017 and titled “Room Association Based on Name,” andU.S. Pat. No. 8,483,853 filed Sep. 11, 2007, and titled “Controlling andmanipulating groupings in a multi-zone media system.” Each of theseapplications is incorporated herein by reference in its entirety. Insome embodiments, the media playback system 100 may not implement Areas,in which case the system may not store variables associated with Areas.

III. Example Systems and Devices

FIG. 2A is a front isometric view of a playback device 210 configured inaccordance with aspects of the disclosed technology. FIG. 2B is a frontisometric view of the playback device 210 without a grille 216 e. FIG.2C is an exploded view of the playback device 210. Referring to FIGS.2A-2C together, the playback device 210 comprises a housing 216 thatincludes an upper portion 216 a, a right or first side portion 216 b, alower portion 216 c, a left or second side portion 216 d, the grille 216e, and a rear portion 216 f. A plurality of fasteners 216 g (e.g., oneor more screws, rivets, clips) attaches a frame 216 h to the housing216. A cavity 216 j (FIG. 2C) in the housing 216 is configured toreceive the frame 216 h and electronics 212. The frame 216 h isconfigured to carry a plurality of transducers 214 (identifiedindividually in FIG. 2B as transducers 214 a-f). The electronics 212(e.g., the electronics 112 of FIG. 1C) is configured to receive audiocontent from an audio source and send electrical signals correspondingto the audio content to the transducers 214 for playback.

The transducers 214 are configured to receive the electrical signalsfrom the electronics 112, and further configured to convert the receivedelectrical signals into audible sound during playback. For instance, thetransducers 214 a-c (e.g., tweeters) can be configured to output highfrequency sound (e.g., sound waves having a frequency greater than about2 kHz). The transducers 214 d-f (e.g., mid-woofers, woofers, midrangespeakers) can be configured output sound at frequencies lower than thetransducers 214 a-c (e.g., sound waves having a frequency lower thanabout 2 kHz). In some embodiments, the playback device 210 includes anumber of transducers different than those illustrated in FIGS. 2A-2C.For example, as described in further detail below with respect to FIGS.3A-3C, the playback device 210 can include fewer than six transducers(e.g., one, two, three). In other embodiments, however, the playbackdevice 210 includes more than six transducers (e.g., nine, ten).Moreover, in some embodiments, all or a portion of the transducers 214are configured to operate as a phased array to desirably adjust (e.g.,narrow or widen) a radiation pattern of the transducers 214, therebyaltering a user's perception of the sound emitted from the playbackdevice 210.

In the illustrated embodiment of FIGS. 2A-2C, a filter 216 i is axiallyaligned with the transducer 214 b. The filter 216 i can be configured todesirably attenuate a predetermined range of frequencies that thetransducer 214 b outputs to improve sound quality and a perceived soundstage output collectively by the transducers 214. In some embodiments,however, the playback device 210 omits the filter 216 i. In otherembodiments, the playback device 210 includes one or more additionalfilters aligned with the transducers 214 b and/or at least another ofthe transducers 214.

FIGS. 3A and 3B are front and right isometric side views, respectively,of an NMD 320 configured in accordance with embodiments of the disclosedtechnology. FIG. 3C is an exploded view of the NMD 320. FIG. 3D is anenlarged view of a portion of FIG. 3B including a user interface 313 ofthe NMD 320. Referring first to FIGS. 3A-3C, the NMD 320 includes ahousing 316 comprising an upper portion 316 a, a lower portion 316 b andan intermediate portion 316 c (e.g., a grille). A plurality of ports,holes or apertures 316 d in the upper portion 316 a allow sound to passthrough to one or more microphones 315 (FIG. 3C) positioned within thehousing 316. The one or more microphones 316 are configured to receivedsound via the apertures 316 d and produce electrical signals based onthe received sound. In the illustrated embodiment, a frame 316 e (FIG.3C) of the housing 316 surrounds cavities 316 f and 316 g configured tohouse, respectively, a first transducer 314 a (e.g., a tweeter) and asecond transducer 314 b (e.g., a mid-woofer, a midrange speaker, awoofer). In other embodiments, however, the NMD 320 includes a singletransducer, or more than two (e.g., two, five, six) transducers. Incertain embodiments, the NMD 320 omits the transducers 314 a and 314 baltogether.

Electronics 312 (FIG. 3C) includes components configured to drive thetransducers 314 a and 314 b, and further configured to analyze audiodata corresponding to the electrical signals produced by the one or moremicrophones 315. In some embodiments, for example, the electronics 312comprises many or all of the components of the electronics 112 describedabove with respect to FIG. 1C. In certain embodiments, the electronics312 includes components described above with respect to FIG. 1F such as,for example, the one or more processors 112 a, the memory 112 b, thesoftware components 112 c, the network interface 112 d, etc. In someembodiments, the electronics 312 includes additional suitable components(e.g., proximity or other sensors).

Referring to FIG. 3D, the user interface 313 includes a plurality ofcontrol surfaces (e.g., buttons, knobs, capacitive surfaces) including afirst control surface 313 a (e.g., a previous control), a second controlsurface 313 b (e.g., a next control), and a third control surface 313 c(e.g., a play and/or pause control). A fourth control surface 313 d isconfigured to receive touch input corresponding to activation anddeactivation of the one or microphones 315. A first indicator 313 e(e.g., one or more light emitting diodes (LEDs) or another suitableilluminator) can be configured to illuminate only when the one or moremicrophones 315 are activated. A second indicator 313 f (e.g., one ormore LEDs) can be configured to remain solid during normal operation andto blink or otherwise change from solid to indicate a detection of voiceactivity. In some embodiments, the user interface 313 includesadditional or fewer control surfaces and illuminators. In oneembodiment, for example, the user interface 313 includes the firstindicator 313 e, omitting the second indicator 313 f. Moreover, incertain embodiments, the NMD 320 comprises a playback device and acontrol device, and the user interface 313 comprises the user interfaceof the control device.

Referring to FIGS. 3A-3D together, the NMD 320 is configured to receivevoice commands from one or more adjacent users via the one or moremicrophones 315. As described above with respect to FIG. 1B, the one ormore microphones 315 can acquire, capture, or record sound in a vicinity(e.g., a region within 10 m or less of the NMD 320) and transmitelectrical signals corresponding to the recorded sound to theelectronics 312. The electronics 312 can process the electrical signalsand can analyze the resulting audio data to determine a presence of oneor more voice commands (e.g., one or more activation words). In someembodiments, for example, after detection of one or more suitable voicecommands, the NMD 320 is configured to transmit a portion of therecorded audio data to another device and/or a remote server (e.g., oneor more of the computing devices 106 of FIG. 1B) for further analysis.The remote server can analyze the audio data, determine an appropriateaction based on the voice command, and transmit a message to the NMD 320to perform the appropriate action. For instance, a user may speak“Sonos, play Michael Jackson.” The NMD 320 can, via the one or moremicrophones 315, record the user's voice utterance, determine thepresence of a voice command, and transmit the audio data having thevoice command to a remote server (e.g., one or more of the remotecomputing devices 106 of FIG. 1B, one or more servers of a VAS and/oranother suitable service). The remote server can analyze the audio dataand determine an action corresponding to the command. The remote servercan then transmit a command to the NMD 320 to perform the determinedaction (e.g., play back audio content related to Michael Jackson). TheNMD 320 can receive the command and play back the audio content relatedto Michael Jackson from a media content source. As described above withrespect to FIG. 1B, suitable content sources can include a device orstorage communicatively coupled to the NMD 320 via a LAN (e.g., thenetwork 104 of FIG. 1B), a remote server (e.g., one or more of theremote computing devices 106 of FIG. 1B), etc. In certain embodiments,however, the NMD 320 determines and/or performs one or more actionscorresponding to the one or more voice commands without intervention orinvolvement of an external device, computer, or server.

FIG. 3E is a functional block diagram showing additional features of theNMD 320 in accordance with aspects of the disclosure. The NMD 320includes components configured to facilitate voice command captureincluding voice activity detector component(s) 312 k, beam formercomponents 312 l, acoustic echo cancellation (AEC) and/or self-soundsuppression components 312 m, activation word detector components 312 n,and voice/speech conversion components 312 o (e.g., voice-to-text andtext-to-voice). In the illustrated embodiment of FIG. 3E, the foregoingcomponents 312 k-312 o are shown as separate components. In someembodiments, however, one or more of the components 312 k-312 o aresubcomponents of the processors 112 a.

The beamforming and self-sound suppression components 312 l and 312 mare configured to detect an audio signal and determine aspects of voiceinput represented in the detected audio signal, such as the direction,amplitude, frequency spectrum, etc. The voice activity detector activitycomponents 312 k are operably coupled with the beamforming and AECcomponents 312 l and 312 m and are configured to determine a directionand/or directions from which voice activity is likely to have occurredin the detected audio signal. Potential speech directions can beidentified by monitoring metrics which distinguish speech from othersounds. Such metrics can include, for example, energy within the speechband relative to background noise and entropy within the speech band,which is measure of spectral structure. As those of ordinary skill inthe art will appreciate, speech typically has a lower entropy than mostcommon background noise. The activation word detector components 312 nare configured to monitor and analyze received audio to determine if anyactivation words (e.g., wake words) are present in the received audio.The activation word detector components 312 n may analyze the receivedaudio using an activation word detection algorithm. If the activationword detector 312 n detects an activation word, the NMD 320 may processvoice input contained in the received audio. Example activation worddetection algorithms accept audio as input and provide an indication ofwhether an activation word is present in the audio. Many first- andthird-party activation word detection algorithms are known andcommercially available. For instance, operators of a voice service maymake their algorithm available for use in third-party devices.Alternatively, an algorithm may be trained to detect certain activationwords. In some embodiments, the activation word detector 312 n runsmultiple activation word detection algorithms on the received audiosimultaneously (or substantially simultaneously). As noted above,different voice services (e.g. AMAZON's ALEXA®, APPLE's SIRI®, orMICROSOFT's CORTANA®) can each use a different activation word forinvoking their respective voice service. To support multiple services,the activation word detector 312 n may run the received audio throughthe activation word detection algorithm for each supported voice servicein parallel.

The speech/text conversion components 312 o may facilitate processing byconverting speech in the voice input to text. In some embodiments, theelectronics 312 can include voice recognition software that is trainedto a particular user or a particular set of users associated with ahousehold. Such voice recognition software may implementvoice-processing algorithms that are tuned to specific voice profile(s).Tuning to specific voice profiles may require less computationallyintensive algorithms than traditional voice activity services, whichtypically sample from a broad base of users and diverse requests thatare not targeted to media playback systems.

FIG. 3F is a schematic diagram of an example voice input 328 captured bythe NMD 320 in accordance with aspects of the disclosure. The voiceinput 328 can include a activation word portion 328 a and a voiceutterance portion 328 b. In some embodiments, the activation word 557 acan be a known activation word, such as “Alexa,” which is associatedwith AMAZON's ALEXA®. In other embodiments, however, the voice input 328may not include a activation word. In some embodiments, a networkmicrophone device may output an audible and/or visible response upondetection of the activation word portion 328 a. In addition oralternately, an NMB may output an audible and/or visible response afterprocessing a voice input and/or a series of voice inputs.

The voice utterance portion 328 b may include, for example, one or morespoken commands (identified individually as a first command 328 c and asecond command 328 e) and one or more spoken keywords (identifiedindividually as a first keyword 328 d and a second keyword 328 f). Inone example, the first command 328 c can be a command to play music,such as a specific song, album, playlist, etc. In this example, thekeywords may be one or words identifying one or more zones in which themusic is to be played, such as the Living Room and the Dining Room shownin FIG. 1A. In some examples, the voice utterance portion 328 b caninclude other information, such as detected pauses (e.g., periods ofnon-speech) between words spoken by a user, as shown in FIG. 3F. Thepauses may demarcate the locations of separate commands, keywords, orother information spoke by the user within the voice utterance portion328 b.

In some embodiments, the media playback system 100 is configured totemporarily reduce the volume of audio content that it is playing whiledetecting the activation word portion 557 a. The media playback system100 may restore the volume after processing the voice input 328, asshown in FIG. 3F. Such a process can be referred to as ducking, examplesof which are disclosed in U.S. patent application Ser. No. 15/438,749,incorporated by reference herein in its entirety.

FIGS. 4A-4D are schematic diagrams of a control device 430 (e.g., thecontrol device 130 a of FIG. 1H, a smartphone, a tablet, a dedicatedcontrol device, an IoT device, and/or another suitable device) showingcorresponding user interface displays in various states of operation. Afirst user interface display 431 a (FIG. 4A) includes a display name 433a (i.e., “Rooms”). A selected group region 433 b displays audio contentinformation (e.g., artist name, track name, album art) of audio contentplayed back in the selected group and/or zone. Group regions 433 c and433 d display corresponding group and/or zone name, and audio contentinformation audio content played back or next in a playback queue of therespective group or zone. An audio content region 433 e includesinformation related to audio content in the selected group and/or zone(i.e., the group and/or zone indicated in the selected group region 433b). A lower display region 433 f is configured to receive touch input todisplay one or more other user interface displays. For example, if auser selects “Browse” in the lower display region 433 f, the controldevice 430 can be configured to output a second user interface display431 b (FIG. 4B) comprising a plurality of music services 433 g (e.g.,Spotify, Radio by Tunein, Apple Music, Pandora, Amazon, TV, local music,line-in) through which the user can browse and from which the user canselect media content for play back via one or more playback devices(e.g., one of the playback devices 110 of FIG. 1A). Alternatively, ifthe user selects “My Sonos” in the lower display region 433 f, thecontrol device 430 can be configured to output a third user interfacedisplay 431 c (FIG. 4C). A first media content region 433 h can includegraphical representations (e.g., album art) corresponding to individualalbums, stations, or playlists. A second media content region 433 i caninclude graphical representations (e.g., album art) corresponding toindividual songs, tracks, or other media content. If the user selectionsa graphical representation 433 j (FIG. 4C), the control device 430 canbe configured to begin play back of audio content corresponding to thegraphical representation 433 j and output a fourth user interfacedisplay 431 d fourth user interface display 431 d includes an enlargedversion of the graphical representation 433 j, media content information433 k (e.g., track name, artist, album), transport controls 433 m (e.g.,play, previous, next, pause, volume), and indication 433 n of thecurrently selected group and/or zone name.

FIG. 5 is a schematic diagram of a control device 530 (e.g., a laptopcomputer, a desktop computer). The control device 530 includestransducers 534, a microphone 535, and a camera 536. A user interface531 includes a transport control region 533 a, a playback status region533 b, a playback zone region 533 c, a playback queue region 533 d, anda media content source region 533 e. The transport control regioncomprises one or more controls for controlling media playback including,for example, volume, previous, play/pause, next, repeat, shuffle, trackposition, crossfade, equalization, etc. The audio content source region533 e includes a listing of one or more media content sources from whicha user can select media items for play back and/or adding to a playbackqueue.

The playback zone region 533 b can include representations of playbackzones within the media playback system 100 (FIGS. 1A and 1B). In someembodiments, the graphical representations of playback zones may beselectable to bring up additional selectable icons to manage orconfigure the playback zones in the media playback system, such as acreation of bonded zones, creation of zone groups, separation of zonegroups, renaming of zone groups, etc. In the illustrated embodiment, a“group” icon is provided within each of the graphical representations ofplayback zones. The “group” icon provided within a graphicalrepresentation of a particular zone may be selectable to bring upoptions to select one or more other zones in the media playback systemto be grouped with the particular zone. Once grouped, playback devicesin the zones that have been grouped with the particular zone can beconfigured to play audio content in synchrony with the playbackdevice(s) in the particular zone. Analogously, a “group” icon may beprovided within a graphical representation of a zone group. In theillustrated embodiment, the “group” icon may be selectable to bring upoptions to deselect one or more zones in the zone group to be removedfrom the zone group. In some embodiments, the control device 530includes other interactions and implementations for grouping andungrouping zones via the user interface 531. In certain embodiments, therepresentations of playback zones in the playback zone region 533 b canbe dynamically updated as playback zone or zone group configurations aremodified.

The playback status region 533 c includes graphical representations ofaudio content that is presently being played, previously played, orscheduled to play next in the selected playback zone or zone group. Theselected playback zone or zone group may be visually distinguished onthe user interface, such as within the playback zone region 533 b and/orthe playback queue region 533 d. The graphical representations mayinclude track title, artist name, album name, album year, track length,and other relevant information that may be useful for the user to knowwhen controlling the media playback system 100 via the user interface531.

The playback queue region 533 d includes graphical representations ofaudio content in a playback queue associated with the selected playbackzone or zone group. In some embodiments, each playback zone or zonegroup may be associated with a playback queue containing informationcorresponding to zero or more audio items for playback by the playbackzone or zone group. For instance, each audio item in the playback queuemay comprise a uniform resource identifier (URI), a uniform resourcelocator (URL) or some other identifier that may be used by a playbackdevice in the playback zone or zone group to find and/or retrieve theaudio item from a local audio content source or a networked audiocontent source, possibly for playback by the playback device. In someembodiments, for example, a playlist can be added to a playback queue,in which information corresponding to each audio item in the playlistmay be added to the playback queue. In some embodiments, audio items ina playback queue may be saved as a playlist. In certain embodiments, aplayback queue may be empty, or populated but “not in use” when theplayback zone or zone group is playing continuously streaming audiocontent, such as Internet radio that may continue to play untilotherwise stopped, rather than discrete audio items that have playbackdurations. In some embodiments, a playback queue can include Internetradio and/or other streaming audio content items and be “in use” whenthe playback zone or zone group is playing those items.

When playback zones or zone groups are “grouped” or “ungrouped,”playback queues associated with the affected playback zones or zonegroups may be cleared or re-associated. For example, if a first playbackzone including a first playback queue is grouped with a second playbackzone including a second playback queue, the established zone group mayhave an associated playback queue that is initially empty, that containsaudio items from the first playback queue (such as if the secondplayback zone was added to the first playback zone), that contains audioitems from the second playback queue (such as if the first playback zonewas added to the second playback zone), or a combination of audio itemsfrom both the first and second playback queues. Subsequently, if theestablished zone group is ungrouped, the resulting first playback zonemay be re-associated with the previous first playback queue, or beassociated with a new playback queue that is empty or contains audioitems from the playback queue associated with the established zone groupbefore the established zone group was ungrouped. Similarly, theresulting second playback zone may be re-associated with the previoussecond playback queue, or be associated with a new playback queue thatis empty, or contains audio items from the playback queue associatedwith the established zone group before the established zone group wasungrouped.

FIG. 6 is a schematic diagram of a computing system 640 that facilitatesproviding internet radio content to one or more media playback systemsas discussed herein. For example, the computing system 640 may includeone or more computing devices, including the computing device(s) 106 ofthe cloud network(s) 102 shown in FIG. 2 and discussed above. Thecomputing system 640 may include, for example, a music programming tool641 a that may be used by administrators of the media playback systemprovider to assemble and program the media content for each internetradio station's playlist. Further, the computing system 640 may includea radio listing content management system (CMS) 641 b. The radio listingCMS may be used to find, verify, and store data regarding terrestrialradio streams that may be provided by one or more terrestrial radiostream aggregators.

The computing system 640 may also include a user journey engine 641 c,which may utilize operational data from a given media playback system,such as the media playback system 600 a, or from a particular playbackdevice such as the playback device 610 a, to make predictions regardinguser interests and/or user activity within the media playback system 600a. In some implementations, the user journey engine 641 c may coordinatewith other computing systems to make such predictions, as furtherdiscussed below. Accordingly, this information may be used to providetargeted advertisements to the media playback system 600 a according tothe examples herein.

FIG. 6 also shows a plurality of additional computing systems 642 withwhich the computing system 640 may integrate and/or cooperate. Forexample, the additional computing systems 642 include music contentsources 642 a operated by a respective music service, such as theexample music services 433 g discussed above (e.g., Spotify, etc.). Insome implementations, for the internet radio content discussed herein,the media playback system provider itself (e.g., Sonos) may operatesimilar to the music services 433 g discussed above, curating andassembling the internet radio content and maintaining one or more of themedia content source(s) 642 a shown in FIG. 6 . The additional computingsystems 642 may also include terrestrial radio stream aggregators 642 band rights reporting services 642 c that track the digital rightsassociated with given media content. For instance, unlike traditionalterrestrial radio where it may be difficult to determine how manylisteners were tuned in during playback of a given song, theimplementations discussed herein can provide much more granular listenerinformation. Operational data from one or more media playback systemsmay indicate, for example, how many playback devices played back a givensong, where the playback devices were likely located, an estimation ofuser presence, among other information. In some cases, this additionalinformation may be used to develop more specific arrangements and feeschedules for the licensing of digital content playback.

The additional computing system 642 may also include an advertisementtrafficking system 642 d, a personalization platform 642 e, and ananalytics platform 642 f, among many other possibilities. Further, thecomputing system 640 may cooperate with computing systems and networksthat facilitate the data exchanges involved herein, including a contentdelivery network (CDN) 642 g, and one or more data repositories 642 h.

For instance, a first media playback system 600 a and a second mediaplayback system 600 b may receive media content corresponding to anInternet radio stream via the CDN 642 g. As the media content is playedback by a first playback device 610 a and a second playback device 610 bin the first media playback system 600 a, and by a third playback device610 c in the second media playback system 600 b, operational datacorresponding to each system may be stored in the one or more datarepositories 642 h. As discussed above, the operational data mayinclude, for each media playback system, listening history correspondingto one or more identified user profiles, the number, model(s),configuration(s), and/or playback settings of the playback devices inthe media playback system, data regarding the media content sourcesavailable to the media playback system, indications of possible playbackdevice locations within the media playback system, and indications ofthe likelihood of user presence, among other examples.

In some implementations, the user journey engine 641 c may access theoperational data stored in the data repositories 642 h and thencoordinate with one or both of the personalization platform 642 e andthe analytics platform 642 f in order to analyze the data and makepredictions regarding user interests and/or user activity within a givenmedia playback system. For instance, operational data may be availablefrom a substantial number of diverse media playback systems. The userjourney engine 641 c may work in conjunction with the analytics platform642 f to apply machine learning and/or other analytics to determineoutcomes that are correlated with certain aspects of the operationaldata, and to predict future outcomes based on related or similaroperational data. Further, the user journey engine 641 c may furthercoordinate with the personalization platform 642 e to apply trends andother predictive information discussed herein to any number of products,services, media content, and the like in a way that presents targetedadvertisements that are more likely to be meaningful to particular usersof a given media playback system.

This information may then be utilized in conjunction with theadvertisement trafficking system 642 d to provide the targetedadvertisements as part of a given internet radio stream. In someimplementations, a given advertisement may be played during a time slotdesignated for advertisements that occurs between songs of the internetradio stream, i.e., after the end of one song and before the beginningof the next song. In other embodiments, the advertisement traffickingsystem 642 d may analyze the upcoming audio content of a given internetradio stream to identify periods within the audio content that areconducive to overlaying the playback of an advertisement. For example, asong that fades out with a lengthy ending may lend itself to overlayingthe audio of an advertisement. Similarly, a song with a lengthy build-upat the beginning of the song may also be a candidate for overlaidadvertisements. Thus, the advertisement trafficking system 642 d mayoverlay a given advertisement onto the transition between twoappropriately selected songs, such that the advertisement plays over theend of the first and the beginning of the second song. In someembodiments, the volume level of the underlying songs might be ducked toimprove clarity of the advertisements. Other examples are also possible.

As shown in FIG. 6 , both the media playback system 600 a and the mediaplayback system 600 b communicate with the computing system 640 as wellas one or more of the additional computing systems 642 during playbackof content from a given internet radio station. For example, thecomputing system 640 maintains a playlist of media items in a queue forplayback, along with an indication of a current playback position withinthe playlist, which is always advancing. To facilitate playback, thecomputing system 640 may provide one or more media items from theplaylist to the playback device 610 a, along with an indication of thecurrent playback position. The current playback position may be, forexample, a timestamp corresponding to a position within a given mediacontent, or an indication of a particular audio frame with the mediacontent where playback should begin. The indications of the currentplayback position may take other forms as well.

The one or more media items provided by the computing system 640 to theplayback device 610 a may include a URI, a URL, or a similar identifierthat allows the playback device 610 a to retrieve the media content forplayback. For example, the one or more media items may “point” to mediacontent on one or more of the media content sources 642 a shown in FIG.6 . As playback continues and the current playback position progresses,the computing system 640 may send additional media items from theplaylist to the playback device 610 a. In some implementations, thecomputing system 640 might also send an updated indication of thecurrent playback position, which may allow the playback device 610 a toupdate its playback position if it has drifted beyond a predeterminedthreshold. For example, the media playback system 600 a may experiencenetwork attenuation that delays the retrieval of media content from themedia content source 642 a, causing the playback device 610 a to “fallbehind” the current playback position maintained by the computing system640. If the playback device 610 a determines that the delay is greaterthat a maximum value, such as 5 seconds, the playback device 610 a mayadjust playback of the media content so as to reduce the delay. Otherthresholds are also possible.

Conversely, the computing system 640 may provide an indication of thecurrent playback position that incorporates an allowance for some delaythat may be expected for a given playback device to retrieve the mediacontent. For example, such an allowance may be based on average mediacontent retrieval speeds across a large number of playback devices,which may be available from the collected operational data. However, ifthe first playback device 610 a is instead experiencing network speedsthat are greater than average, its playback position may begin to driftahead of the current playback position maintained by the computingsystem 640, and a similar correction may be required.

Such a correction might take various forms. For instance, if thecomputing system 640 determines that a given playback device's playbackof the internet radio content has drifted too far ahead or too farbehind other playback devices that are playing the same content, thecomputing system 640 may adjust the audio content that is provided tothe given playback device. For example, the computing system 640 maytimestretch the audio content of a song, or a portion thereof, toincrease or decrease its tempo without changing its pitch, and thenprovide the adjusted audio content to the given playback device whileother playback devices receive unadjusted content. In this way, thegiven playback device may become resynchronized, or substantiallyresynchronized, with other playback devices that are playing the sameinternet radio station.

Additionally or alternatively, a given playback device may determinethat its current playback position within the playlist of media items isbehind the indicated playback position provided by the computing system640 by more than a threshold value, such as 5 seconds. In response, thegiven playback device may undertake a similar adjustment of the audiocontent that is received from the computing system 640. For example, thegiven playback device may timestretch the audio content to increase itstempo as discussed above, and then play back the adjusted audio contentto thereby reduce the difference in its playback position.

In some implementations, the computing system 640 may provide a mediaitem to the playback device 610 a that corresponds to limited-accessmedia content for which the playback device 610 a might not have accesscredentials to browse or retrieve under other circumstances.Nonetheless, the limited-access media content may be enabled forretrieval and playback when accessed as part of the internet radiostream discussed herein. Some additional user experiences surroundingaccess to limited-access media in this way are further discussed below.

In a similar way, the computing system 640 may provide one or more mediaitems and an indication of the current playback position within theplaylist to the playback device 610 c of the second media playbacksystem 600 b. This may result in the substantially synchronous playbackof the internet radio stream by the playback device 610 a and theplayback device 610 c. For instance, differences in playback timing upto 5 or even 10 seconds, which would be unacceptable in a multi-roomplayback scenario, may not have any appreciable impact on userslistening to the same internet radio stream in separate media playbacksystems.

FIG. 7 is a message flow diagram involving an example computing systemand two media playback systems. The example computing system may be thecomputing system 640 as shown in FIG. 6 and discussed above. Further,the first media playback system may be the media playback system 600 aincluding playback device 610 a shown in FIG. 6 , as well as a computingdevice 630 a (e.g., a smartphone) that operates as a control device ofthe media playback system 600 a. Similarly, the second media playbacksystem may be the media playback system 600 b including playback device610 c.

At step 751 a, the computing system 640 maintains the playlist of mediaitems for playback by one or more playback devices. The playlist ofmedia items may be accessible by the one or more playback devices as aninternet radio station, podcast, or similar stream that is madeavailable by the provider of the respective media playback systems towhich each playback device belongs. Further, maintaining the playlist ofmedia items may also include maintaining an indication of a currentplayback position within the playlist. As discussed above, the playlistof media items may include a plurality of time slots designated foradvertisements.

In some implementations, maintaining the playlist of media items mightinclude adding media items, removing media items, or otherwise updatingthe playlist. Such actions may be performed by an administrator of theplaylist, for example. In other embodiments, the computing system 640may make updates to the playlist, such as adding new content, based onvarious criteria, including data related to aggregated user tastepreferences that were used to initially create the playlist, any updatesto those taste preferences, a playback history of the playlist, andoperational data of playback devices that have played the playlist.Other criteria are also possible.

At step 751 b, the computing system 640 receives, from the firstplayback device 610 a, a first request to play back the playlist ofmedia items and first operational data corresponding to the firstplayback device 610 a. In some implementations, the request for thefirst playback device 610 a to play back the playlist mightalternatively be transmitted by a control device of the media playbacksystem 600 a, such as the computing device 630 a. Similarly, at step 751c, the computing system 640 receives, from the second playback device610 c, a second request to play back the playlist of media items andsecond operational data corresponding to the second playback device 610c. As noted above, the operational data corresponding to the firstplayback device 610 a and the second playback device 610 c may bewide-ranging. Further examples of such operational data and its uses arediscussed in the examples below.

At step 751 d, the computing system 640 provides one or more media itemsin the playlist to the first playback device 610 a. Further, thecomputing system 640 may also provide an indication of the currentplayback position in the playlist, such that the first playback device610 a can begin playback at the same position, or substantially the sameposition, as other playback devices in other media playback systems thatare also playing back the playlist. Similarly, at step 751 e, thecomputing system 640 provides one or more media items in the playlist tothe second playback device 610 c. As above, the computing system 640 mayalso provide the indication of the current playback position to thesecond playback device 610 c.

At block 752 a, the first playback device 610 a retrieves and plays backmedia content corresponding to the provided media items, and at block753 a, the second playback device 610 c retrieves and plays back mediacontent corresponding to the provided media items. As discussed above,this may involve the playback devices using the provided media items toretrieve corresponding media content from one or more media contentsources 642 a.

Although FIG. 7 schematically illustrates the computing system 640receiving the two requests to play back the playlist at the same time,and then providing the media items at the same time, these steps mightnot occur in unison. Rather, the first playback device 610 a maytransmit the first request to play back the playlist at a first time,and may receive from the computing system 640 the one or more mediaitems and the indication of the current playback system shortlythereafter. At a second time, after the first playback device hasalready begun playing back the playlist of media items, the secondplayback device 610 c may transmit the second request. Accordingly, thecomputing system 640 may provide one or more media items different fromthose initially received by the first playback device 610 a, and/or anupdated indication of the current playback position. In this way, thesecond playback device 610 c can “join” the ongoing internet radiostream that the first playback device 610 a is already playing back.

On the other hand, once both playback devices are engaged in ongoingplayback of the playlist of media items, the computing system 640 might,as the current playback position progresses through the playlist,provide additional media items to the first playback device 610 a andthe second playback device 610 c for playback at substantially the sametime. Similarly, the playback devices may continue to provide updatedoperation data to the computing system 640 as playback proceeds.

At step 751 f, the computing system 640 may determine a firstadvertisement to be provided to the first playback device 610 a based onthe first operational data. The computing system 640 may also determinea second advertisement to be provided to the second playback device 610c based on the second operational data. As above, although these actionsare shown schematically as occurring in the same step 751 f, they neednot be performed by the computing 640 at the same time.

For example, the computing system 640 may determine one or moreadvertisements for the first playback device 610 a in response toreceiving the first operational data from the first playback device 610a. Thereafter, additional advertisements may be determined whileplayback of the playlist of media items progresses, and may bedetermined based on updated operational data. In some cases,advertisements that have already been determined for playback by thefirst playback device 610 a may be replaced by updated advertisements,based on updated operational data that warrants such as a change.

At step 751 g, the computing system 640 provides the first advertisementto the first playback device 610 a for playback during a given time slotin the playlist. Further, at step 751 h, the computing system 640provides the second advertisement to the second playback device 610 cfor playback during the given time slot, such that the second playbackdevice 610 c plays the second advertisement while the first playbackdevice 610 a plays the first advertisement. Accordingly, at step 752 b,the first playback device 610 a plays back the first advertisement, andat step 753 b, the second playback device 610 c plays back the secondadvertisement.

In this way, the first playback device 610 a and the second playbackdevice 610 c, located in different media playback systems, mayexperience the same media content in substantial synchrony as they playback the media items in the playlist, while receiving differentadvertisements during the same advertising time slot.

As suggested by FIG. 7 , the computing system 640 may provide the firstand second advertisements to the respective playback devices at steps751 g and 751 h, at substantially the same time. However, this is notnecessarily required, and the advertisements might be provided atdifferent times as well, prior to the playback of the respectiveadvertisements.

In some implementations, the computing system 640 may also provide, tothe computing device 630 a or a similar control device of the firstmedia playback system 600 a, data associated with the firstadvertisement. The computing device 630 a may use the data to display aselectable indication related to the first advertisement. For example,the selectable indication may be a link that a user may select to takethem to an interface for purchasing an advertised product, or forsigning up for an advertised service. Other examples are also possibleand will be further discussed below.

As noted above, many of the steps shown in the flow chart of FIG. 7 neednot occur in the order presented, unless otherwise noted. However, theplayback of the respective advertisements across each playback devicedoes occur in substantial unison during the given time slot. The dashedlines 755 a and 755 b in FIG. 7 represent the beginning and end of thegiven time slot, during which the advertisements are played back.

Alternatively, in some embodiments, the computing system 640 mightprovide to the playback device 610 a and the playback device 610 cadvertisements that are not the same duration during a given time slot.For instance, the playback device 610 a might receive and play back afirst advertisement that is 10 seconds in length, whereas the playbackdevice 610 c might receive and play back a second advertisement that is15 seconds in length. As such, when playback of the internet radiostation audio content resumes after the respective advertisements, a 5second difference in playback has been introduced to the substantiallysynchronous playback by the two playback devices. The computing system640 may correct for this difference as discussed above, by adjusting thetempo of the audio content provided to one or both playback devices,among other possibilities.

Alternatively, the computing system 640 may add a brief period ofsilence before and/or after the shorter advertisement such that it spansthe same advertising time slot as the longer advertisement. Forinstance, the computing system 640 may insert 2.5 seconds of silenceboth before and after the 10 second advertisement, resulting in a 15second time period that matches the longer advertisement.

In some other examples, the computing system 640 may determineadvertisements of differing length as a way to reduce playback timingdifferences between playback devices. For instance, if a given playbackdevice has a playback position that is lagging 5 seconds behind theindication of the playback position that is maintained by the computingsystem 640, the computing system 640 may determine an advertisement forthe given playback device that is only 10 seconds in length, whereasother playback devices that are playing back the internet radio contentmay be provided with advertisements that are 15 seconds in length. Otherexamples are also possible.

In some implementations, the selectable indication that is displayed onthe computing device 630 a may persist after the end of the givenadvertising time slot, as shown by the dashed line 754 b. For example,although playback of the first advertisement has ended and the firstplayback device 610 a has continued with playback of the next media itemfrom the playlist, the computing device 630 a may continue to displaythe selectable indication related to the first advertisement, which maygive a user an opportunity to, for example, retrieve and consider theselectable indication. The selectable indication may persist for apredetermined time, such as 15 second after playback of the firstadvertisement ends. In some cases, certain user activities might extendthe persistence of the selectable indication, such as an interactionwith the computing device 630 a within a predetermined time.Additionally or alternatively, the selectable indications displayed bythe computing device 630 a may be stored by the computing device 630 a,and later recalled by a user. Other variations are also possible.

In some examples, two playback devices in the same media playback system(e.g., operating on the same LAN), might play back two differentadvertisements, each with its own respective selectable indication thatmay be displayed on a control device of the media playback system. Inthis situation, a given control device within the media playback systemmay determine if it is within listening range of either of the twoplayback devices, and if so, display the corresponding selectableindication. For example, during the advertising time slot, the controldevice may detect, via an integrated microphone, the playback of one ofthe advertisements. Accordingly, the control device may display thecorresponding selectable indication. Alternatively, if the controldevice's microphone detects neither advertisement being played back, thecontrol device might display neither selectable indication. Otherindicators for determining the listening proximity of a control deviceto a playback device in the media playback system, including WiFi signalstrength, for example, are also possible.

IV. Example User Experiences

FIG. 8 is a schematic diagram of playback devices playing back aninternet radio stream and will inform the discussion of some exampleuser experiences that may be facilitated by the systems and operationsherein.

For instance, FIG. 8 shows a graphical representation of a playlist 860that is maintained by a computing system, such as the computing system640 discussed above. The horizontal orientation of FIG. 8 from left toright corresponds to the passage of time, and items that are verticallyaligned (e.g., the beginning and ending of a given media item) occur atsubstantially the same time, as discussed above.

The playlist 860 includes a series of thirteen media items labeled 862a-862 m, as well as four time slots 863, 864, 865, and 866 that aredesignated for advertisements. Further, FIG. 8 shows four playbackdevices that play back the playlist 860 at various times, and theportion of the playlist 860 that is shown adjacent to each playbackdevice in FIG. 8 represents the portion of the playlist 860 that isplayed back by that playback device, as will be apparent with referenceto the examples below.

The four playback devices shown in FIG. 8 include the playback devices610 a and 610 b discussed above, which operate as part of the firstmedia playback system 600 a. An additional playback device 610 p that isalso associated with the first media playback system 600 a is alsoshown. The playback device 610 c discussed above, which operates as partof the second media playback system 600 b, is also depicted. Thus, FIG.8 illustrates user experiences that may be facilitated within a givenmedia playback system, as well as across multiple systems.

At a first point in time 861 a, a first user of the first media playbacksystem 600 a may select, via a control device such as the computingdevice 630 a discussed above, an internet radio station entitled “80'sPop Music” for playback. In response, the first playback device 610 abegins playing back the playlist 860 of media items that is maintainedby the computing system 640 for the “80's Pop Music” station. Shortlythereafter, at a second time 861 b and during playback of the firstmedia item 862 a, the first user may group the second playback device610 b with the first playback device 610 a for synchronous playback ofthe media items.

At a third time 861 c, while the current playback position is in themidst of media item 862 c, a user of the second media playback system600 b may initiate playback of the same “80's Pop Music” internet radiostation on the playback device 610 c. Accordingly, the playback device610 c begins playing back the playlist in substantial synchrony with theplayback devices in the first media playback system 600 a.

At some point prior to the advertising time slot 863 that follows mediaitems 862 c, the computing system 640 will determine, for each playbackdevice that is playing back the playlist, an advertisement that is basedon operational data provided to the computing system 640 by the playbackdevices. As one example, the operational data may include profile dataassociated with the media playback system account from which playbackwas initiated. For instance, the user of the first media playback system600 a may have populated their media playback system user account withdemographic information such as age, gender, and music preferences(e.g., favorites), which might include a preference for 90's R&B music.In some cases, the music preferences of the user may be determinedimplicitly based on a usage history associated with the user accountrather than explicit input from the user. The computing system 640 maythen determine an advertisement to be played by the first playbackdevice 610 a based on some or all of this information. For example,users of a certain age and gender with a taste for both 80's pop musicand 90's R&B music may fit the target demographic of a certain podcastthat advertises via the media playback system. Thus, the computingsystem 640 may provide, and the first playback device 610 a may playback, an advertisement 863 a promoting the podcast. Concurrently, theuser's control device may display a selectable indication for the userto subscribe to the podcast.

As another example, the operational data received by the computingsystem 640 may include configuration information for the second playbackdevice 610 b indicating that it has not been calibrated using built-incalibration features that can improve its playback quality. Accordingly,the playback device 610 b may be provided with and play back anadvertisement 863 b promoting the benefits of the playback device'scalibration features and suggesting that the user give them a try.

Further, the user of the second media playback system 600 b may haveindicated, either directly or indirectly, an interest in cooking intheir media playback system user profile. Based on this data, as well asperhaps the user's geographic location and the time of year, thecomputing system 640 may provide an advertisement 863 c to the playbackdevice 610 c for seasonal cooking supplies.

Accordingly, during the advertising time slot 863, each of the threeplayback devices discussed above plays back a different targetedadvertisement. At the conclusion of the advertising time slot, eachdevice resumes playback of the media items in the playlist, beginningwith media item 862 d.

As noted above, operational data may be provided to the computing system640 on an ongoing basis during playback and may be used to inform thedetermination of upcoming advertisements. For example, the firstplayback device 610 a may be named by the first user “Kitchen,”indicating a reasonable likelihood that it is located in the kitchen ofthe first user's household. At a fourth time 861 d, the first playbackdevice 610 a may detect, via an integrated networked microphone device(NMD), a voice command issued to a voice assistant service (VAS) to addan item to a grocery shopping list. Further, first user may haveconfigured their VAS to utilize voice profile detection, and the issuedvoice command may match the first user's voice profile.

Consequently, the computing system 640 may utilize the operational dataabove to infer that, at time 861 d, the first user was present in theirkitchen and may have been involved in an activity related to foodpreparation. Accordingly, the computing system 640 may provide anadvertisement 864 a related to kitchen appliances to the first playbackdevice 610 a to be played in the second advertising time slot 864.

As another example, the second playback device 610 b may alsoincorporate a NMD, and may be assigned the name “Office.” At time 861 e,the second playback device 610 b may detect speech patterns via the NMD,although the speech may not include the designated activation words toissue a voice command. Nonetheless, the recognized speech pattern maysuggest that a user is within listening distance of the second playbackdevice 610 b. Further, the computing system 640 may receive operationaldata indicating that a desktop control application registered to asecond user account in the first media playback system 600 a has comeonline and browsed other internet radio stations, although it did notissue any commands. The computing system 640 may also have access tocorrelating data suggesting that desktop control applications are oftenutilized by users who are at work, or who are working from home. Thus,the computing system 640 may infer that the second user of the firstmedia playback system 600 a is present in their home office and may beworking. Therefore, an advertisement 864 b related to productivitysoftware may be provided to, and played back by, the second playbackdevice 610 b in the second advertising time slot 864.

In the second media playback system 600 b, at time 861 f, a volumecontrol command is issued from a control device that is registered to asecond user account of the second media playback system 600 b. Unlikethe playback devices in the first media playback system 600 a, theplayback device 600 c may not be named in such a way that provides anyinsight into its location. For example, the playback device 600 c may benamed “Play:5,” which may be a factory default naming convention thatindicates only the playback device's model. However, the second useraccount of the second media playback system may have a listening historythat includes a preference for sports-related podcasts and radiobroadcasts. Based on at least this operational data and perhaps theuser's geographic location, the computing system 640 may provide anadvertisement 864 c for an upcoming sporting event in the second user'sarea.

As shown in FIG. 8 , the advertising time slot 864 may be designated forplayback as a media content overlay during the transition between mediaitems 862 f and 862 g. Accordingly, each of the three advertisementsdiscussed above may be played back in this manner by the respectiveplayback devices during the time slot 864.

The current playback position of the media items in the playlist 860 mayeventually reach media item 862 j, which may be a limited-access mediaitem that is normally only playable, separate from the playlist of mediaitems maintained by the computing system 640, from a given media contentsource. Further, the computing system 640 may determine, based on thereceived operational data, that none of the playback devices in thefirst and second media playback systems has access credentials for thegiven media content source. Therefore, the computing system 640 mayprovide an advertisement 865 a, to be played during the advertising timeslot 865, indicating that the song that was just played is onlyavailable from the given media content service, and promoting asubscription to the service. In this case, the same advertisement playson each of the playback devices discussed above, as they each satisfythe same criteria related to the limited-access media.

Alternatively, an advertisement of this kind might instead precede thelimited-access media, indicating that the upcoming song is onlyavailable from the given media content service, and promoting asubscription to the service. In situations where a given playback devicealready has access credentials for the given media content source, adifferent advertisement may be substituted.

Returning to FIG. 8 , the first user of the first media playback system600 a may shift playback of the playlist 860 from the first and secondplayback device to a third playback device 610 p, which may be aportable playback device. For example, the third playback device 610 pmay be a battery-operated playback device that can be used to play mediacontent out loud wherever it is carried. Other types of portableplayback devices are also possible including headphones and similarprivate listening devices.

As shown in FIG. 8 , the first user may shift playback to the portabledevice during playback of the advertisement 865 a. Thereafter, playbackof the playlist 860 may proceed on the playback device 610 p. In someimplementations, the playback device 610 p may have a self-calibrationfeature that facilitates maintaining a high playback quality level whenit is moved from one spatial environment to another. In this example,the computing system 640 may receive operational data from the playbackdevice 610 p indicating that self-calibration occurred and detected afrequency response that is indicative of the playback device 610 p beingin an outdoor environment. Based on this data, the computing system 640may infer that a user of the first playback system 600 a has movedoutdoors and may determine an advertisement 866 a related to lawn andgarden care, for example, to be played during the time slot 866.

Meanwhile, operation data related to the second playback system 600 bmay indicate that the playback device 600 c is the only playback devicein operation in the second media playback system 600 b. Thus, thecomputing system 640 may determine an advertisement 866 b promoting thebenefits of multi-room, synchronous playback between multiple devices,and/or the ability to bond two playback devices for stereo playback ormultiple playback devices in a home theatre arrangement.

In some implementations, as noted previously but unlike the examplesdiscussed in FIG. 8 , the computing system 640 might determine thatthere is a relatively low likelihood that a user is nearby a givenplayback device. For example, the operational data might include aperiod of time with little or no user interaction with the playbackdevice. Additionally or alternatively, the operational data for adifferent playback device may indicate that a user is present near thedifferent playback device, and not the device in question. As yetanother example, the computing system 640 may determine the likelypresence of a given user, but the given user might not match any of thetarget demographics for which advertisements are available. Accordingly,in some cases the computing system 640 may determine that noadvertisement should be played back by a given playback device. Instead,the computing system 640 might provide a “blank” media item for playbackduring the advertising time slot. The blank media item may be silence,while noise, ocean waves, or similar. In embodiments where theadvertisement would have been overlaid on the audio content of one ormore songs, the songs might instead play back as normal without theoverlaid advertisement. Other examples are also possible.

V. Conclusion

The above discussions relating to playback devices, controller devices,playback zone configurations, and media content sources provide onlysome examples of operating environments within which functions andmethods described below may be implemented. Other operating environmentsand configurations of media playback systems, playback devices, andnetwork devices not explicitly described herein may also be applicableand suitable for implementation of the functions and methods.

The description above discloses, among other things, various examplesystems, methods, apparatus, and articles of manufacture including,among other components, firmware and/or software executed on hardware.It is understood that such examples are merely illustrative and shouldnot be considered as limiting. For example, it is contemplated that anyor all of the firmware, hardware, and/or software aspects or componentscan be embodied exclusively in hardware, exclusively in software,exclusively in firmware, or in any combination of hardware, software,and/or firmware. Accordingly, the examples provided are not the onlyways) to implement such systems, methods, apparatus, and/or articles ofmanufacture.

Additionally, references herein to “embodiment” means that a particularfeature, structure, or characteristic described in connection with theembodiment can be included in at least one example embodiment of aninvention. The appearances of this phrase in various places in thespecification are not necessarily all referring to the same embodiment,nor are separate or alternative embodiments mutually exclusive of otherembodiments. As such, the embodiments described herein, explicitly andimplicitly understood by one skilled in the art, can be combined withother embodiments.

The specification is presented largely in terms of illustrativeenvironments, systems, procedures, steps, logic blocks, processing, andother symbolic representations that directly or indirectly resemble theoperations of data processing devices coupled to networks. These processdescriptions and representations are typically used by those skilled inthe art to most effectively convey the substance of their work to othersskilled in the art. Numerous specific details are set forth to provide athorough understanding of the present disclosure. However, it isunderstood to those skilled in the art that certain embodiments of thepresent disclosure can be practiced without certain, specific details.In other instances, well known methods, procedures, components, andcircuitry have not been described in detail to avoid unnecessarilyobscuring aspects of the embodiments. Accordingly, the scope of thepresent disclosure is defined by the appended claims rather than theforegoing description of embodiments.

When any of the appended claims are read to cover a purely softwareand/or firmware implementation, at least one of the elements in at leastone example is hereby expressly defined to include a tangible,non-transitory medium such as a memory, DVD, CD, Blu-ray, and so on,storing the software and/or firmware.

1. A computing system comprising: at least one processor; non-transitorycomputer-readable medium; and program instructions stored on thenon-transitory computer-readable medium that are executable by the atleast one processor, such that the computing system is configured to:maintain a scheduled playlist of media items for playback by one or moreplayback devices, wherein the scheduled playlist of media itemscomprises a plurality of scheduled time slots designated foradvertisements; receive first operational data from a first playbackdevice; receive second operational data from a second playback device;determine, based on the first operational data, a first advertisement tobe provided to the first playback device, the first advertisement havinga first duration; determine, based on the second operational data, asecond advertisement to be provided to the second playback device, thesecond advertisement having a second duration that is longer than thefirst duration; provide the first advertisement to the first playbackdevice for playback during a given time slot of the scheduled timeslots; provide the second advertisement to the second playback devicefor playback during the given time slot while the first playback deviceplays back the first advertisement; and adjust the scheduled playlist ofmedia items for one of the first or second playback device such that thefirst and second playback devices play back the scheduled playlist ofmedia items in substantial synchrony after the first playback devicecompletes playing back the first advertisement and after the secondplayback device completes playing back the second advertisement.
 2. Thecomputing system of claim 1, wherein the program instructions that areexecutable by the at least one processor, such that the computing systemis configured to adjust the scheduled playlist of media items for theone of the first or second playback device comprise program instructionsthat are executable by the at least one processor, such that thecomputing system is configured to: insert a silence media item into thescheduled playlist of media items for playback by the first playbackdevice.
 3. The computing system of claim 1, wherein the programinstructions that are executable by the at least one processor, suchthat the computing system is configured to adjust the scheduled playlistof media items for the one of the first or second playback devicecomprise program instructions that are executable by the at least oneprocessor, such that the computing system is configured to:
 4. Thecomputing system of claim 1, wherein the program instructions that areexecutable by the at least one processor, such that the computing systemis configured to provide the first advertisement to the first playbackdevice comprise program instructions that are executable by the at leastone processor, such that the computing system is configured to providethe first advertisement to the first playback device while the firstplayback device and the second playback device are playing back thescheduled playlist of media items in substantial synchrony; and whereinthe program instructions that are executable by the at least oneprocessor, such that the computing system is configured to provide thesecond advertisement to the second playback device comprise programinstructions that are executable by the at least one processor, suchthat the computing system is configured to provide the secondadvertisement to the second playback device while the first playbackdevice and the second playback device are playing back the scheduledplaylist of media items in substantial synchrony.
 5. The computingsystem of claim 1, further comprising program instructions that areexecutable by the at least one processor, such that the computing systemis configured to, after determining the first advertisement: receiveupdated operational data from the first playback device; determine,based on the updated operational data, an updated advertisement; andprovide the updated advertisement to the first playback device forplayback during the given time slot of the scheduled time slot insteadof the first advertisement.
 6. The computing system of claim 1, whereinthe first playback device is associated with a first media playbacksystem, and wherein the second playback device is associated with asecond media playback system that is different from the first mediaplayback system.
 7. The computing system of claim 1, wherein the firstplayback device and the second playback device are both playback devicesof a given media playback system.
 8. The computing system of claim 1,further comprising program instructions stored on the non-transitorycomputer-readable medium that, when executed by the at least oneprocessor, cause the computing system to: while the first playbackdevice plays back the first advertisement, cause a computing device thatis installed with an application for controlling the first playbackdevice to display, via a user interface of the computing device, aselectable indication corresponding to the first advertisement.
 9. Thecomputing system of claim 1, wherein the first operational datacorresponding to the first playback device comprises data indicating aplayback history of the first playback device.
 10. A non-transitorycomputer-readable medium, wherein the non-transitory computer-readablemedium is provisioned with program instructions that, when executed byat least one processor, cause a computing system to: maintain ascheduled playlist of media items for playback by one or more playbackdevices, wherein the scheduled playlist of media items comprises aplurality of scheduled time slots designated for advertisements; receivefirst operational data from a first playback device; receive secondoperational data from a second playback device; determine, based on thefirst operational data, a first advertisement to be provided to thefirst playback device, the first advertisement having a first duration;determine, based on the second operational data, a second advertisementto be provided to the second playback device, the second advertisementhaving a second duration that is longer than the first duration; providethe first advertisement to the first playback device for playback duringa given time slot of the scheduled time slots; provide the secondadvertisement to the second playback device for playback during thegiven time slot while the first playback device plays back the firstadvertisement; and adjust the scheduled playlist of media items for oneof the first or second playback device such that the first and secondplayback devices play back the scheduled playlist of media items insubstantial synchrony after the first playback device completes playingback the first advertisement and after the second playback devicecompletes playing back the second advertisement.
 11. The non-transitorycomputer-readable medium of claim 10, wherein the program instructionsthat, when executed by at least one processor, cause the computingsystem to adjust the scheduled playlist of media items for the one ofthe first or second playback device comprise program instructions that,when executed by at least one processor, cause the computing system toinsert a silence media item into the scheduled playlist of media itemsfor playback by the first playback device.
 12. The non-transitorycomputer-readable medium of claim 10, wherein the program instructionsthat, when executed by at least one processor, cause the computingsystem to adjust the scheduled playlist of media items for the one ofthe first or second playback device comprise program instructions that,when executed by at least one processor, cause the computing system toadjust a tempo of a media item in the scheduled playlist of media itemsfor playback by the first or second playback device such that the firstplayback device and the second playback device play back the media itemat different tempos.
 13. The non-transitory computer-readable medium ofclaim 10, wherein the program instructions that, when executed by atleast one processor, cause the computing system to provide the firstadvertisement to the first playback device comprise program instructionsthat, when executed by at least one processor, cause the computingsystem to provide the first advertisement to the first playback devicewhile the first playback device and the second playback device areplaying back the scheduled playlist of media items in substantialsynchrony; and wherein the program instructions that, when executed byat least one processor, cause the computing system to provide the secondadvertisement to the second playback device comprise programinstructions that, when executed by at least one processor, cause thecomputing system to provide the second advertisement to the secondplayback device while the first playback device and the second playbackdevice are playing back the scheduled playlist of media items insubstantial synchrony.
 14. The non-transitory computer-readable mediumof claim 10, wherein the non-transitory, computer-readable medium isalso provisioned with program instructions that, when executed by atleast one processor, cause the computing system to, after determiningthe first advertisement: receive updated operational data from the firstplayback device; determine, based on the updated operational data, anupdated advertisement; and provide the updated advertisement to thefirst playback device for playback during the given time slot of thescheduled time slot instead of the first advertisement.
 15. Thenon-transitory computer-readable medium of claim 10, wherein thenon-transitory, computer-readable medium is also provisioned withprogram instructions that, when executed by at least one processor,cause the computing system to, while the first playback device playsback the first advertisement, cause a computing device that is installedwith an application for controlling the first playback device todisplay, via a user interface of the computing device, a selectableindication corresponding to the first advertisement.
 16. A methodcarried out by a computing system, the method comprising: maintaining ascheduled playlist of media items for playback by one or more playbackdevices, wherein the scheduled playlist of media items comprises aplurality of scheduled time slots designated for advertisements;receiving first operational data from a first playback device; receivingsecond operational data from a second playback device; determining,based on the first operational data, a first advertisement to beprovided to the first playback device, the first advertisement having afirst duration; determining, based on the second operational data, asecond advertisement to be provided to the second playback device, thesecond advertisement having a second duration that is longer than thefirst duration; providing the first advertisement to the first playbackdevice for playback during a given time slot of the scheduled timeslots; providing the second advertisement to the second playback devicefor playback during the given time slot while the first playback deviceplays back the first advertisement; and adjusting the scheduled playlistof media items for one of the first or second playback device such thatthe first and second playback devices play back the scheduled playlistof media items in substantial synchrony after the first playback devicecompletes playing back the first advertisement and after the secondplayback device completes playing back the second advertisement.
 17. Themethod of claim 16, wherein adjusting the scheduled playlist of mediaitems for the one of the first or second playback device comprisesinserting a silence media item into the scheduled playlist of mediaitems for playback by the first playback device.
 18. The method of claim16, wherein adjusting the scheduled playlist of media items for the oneof the first or second playback device comprises adjusting a tempo of amedia item in the scheduled playlist of media items for playback by thefirst or second playback device such that the first playback device andthe second playback device play back the media item at different tempos.19. The method of claim 16, wherein providing the first advertisement tothe first playback device comprises providing the first advertisement tothe first playback device while the first playback device and the secondplayback device are playing back the scheduled playlist of media itemsin substantial synchrony; and wherein providing the second advertisementto the second playback device comprises providing the secondadvertisement to the second playback device while the first playbackdevice and the second playback device are playing back the scheduledplaylist of media items in substantial synchrony.
 20. The method ofclaim 16, further comprising: receiving updated operational data fromthe first playback device; determining, based on the updated operationaldata, an updated advertisement; and providing the updated advertisementto the first playback device for playback during the given time slot ofthe scheduled time slot instead of the first advertisement.